day6-作业

1.设计一个猜数字的游戏(0~100)

基本功能: 不断输入数字,直到猜中为止提示游戏结束(大了,小了)

import random
count = 0
guess = random.randint(1, 100)
print('猜数字游戏:猜测1~100之间的一个数字,猜对了游戏结束;猜错了,将会有提示信息')
input('现在开始猜数字,按回车键开始')
while True:
    y_guess = int(input('请输入猜测数字: '))
    if y_guess < guess:
        print('你猜的数字太小')
    elif y_guess > guess:
        print('你猜测的数字太大了')
    else:
        print('Congratulation! 猜对了')
        break
    count += 1
if count == 1:
    print('一次就猜中了,太厉害了')
elif 1 < count <= 20:
    print('很高兴你能在这么短时间就猜中')
elif 21 < count <= 50:
    print('猜的时间有点长了,你猜了{}次才猜出'.format(count))
else:
    print('猜的时间太长了,下次加油!')

运行结果

运行结果(续)
2.学生管理系统界面

包含3个文件,分别是test.py、admin.py、users.py分别的作用是主文件、包含test需要的类(import引入test中)、模拟登录用户的用户名和密码(登录用户数据)

# test.py
from admin import Admin

admin = Admin()
admin.begin_win()

# admin.py
import json
from users import json_users

admin_users = json.loads(json_users)


class Student:
    def __init__(self):
        self.name = None
        self.age = None
        self.phone = None


class Admin:
    def __init__(self):
        self.id = None
        self.name = None
        self.psw = None
        self.adm_in = None
        self.students = []
        self.stu = Student()

    def begin_win(self):
        print('=========================学生管理系统界面=========================')
        print('\t\t1.登录')
        print('\t\t2.注册(功能暂未实现)')
        print('\t\t3.退出')
        print('==================================================================')
        try:
            self.adm_in = int(input('请输入您的选择:'))
            self.begin_choices()
        except ValueError:
            pass

    def begin_choices(self):
        while True:
            if self.adm_in == 1:
                self.adm_log()
                self.draw_func_win()
            elif self.adm_in == 2:
                print('waiting......')
                # admin_name2 = input('您的名字:')
                # adm_pwd2 = input('输入密码:')
                # adm_re_pwd2 = input('再次确认:')
            elif self.adm_in == 3:
                print('exit..')
            else:
                print('输入命令错误,请重新输入')
                continue
            break

    def adm_log(self):
        global admin_users
        admins_len = len(admin_users)
        err1 = 1
        is_loop = True
        while is_loop:
            self.name = input('请输入用户名:').replace(' ', '')
            self.psw = input('请输入密码:')
            for i in range(admins_len):
                if self.name == admin_users[i]['admin_name']:
                    if self.psw == admin_users[i]['admin_psw']:
                        print('登录成功!')
                        is_loop = False
                        break
                    else:
                        print('密码不正确')
                        err1 = 2
            else:
                if err1 == 1:
                    print('用户名不存在')
                else:
                    err1 = 1

    def draw_func_win(self):
        while True:
            print('=========================学生管理=========================')
            print('❀❀❀欢迎', self.name, ':')
            print('\t\t1.添加学生')
            print('\t\t2.查看学生')
            print('\t\t3.修改学生信息')
            print('\t\t4.删除学生')
            print('\t\t5.返回')
            print('==========================================================')
            try:
                self.adm_in = int(input('您想进行的操作是:'))
                self.stu_operate()
                break
            except ValueError:
                print('输入错误,请重输')
                continue

    def stu_operate(self):
        if self.adm_in == 1:
            self.add_stu()
        elif self.adm_in == 2:
            self.search_stu()
        elif self.adm_in == 3:
            self.change_info()
        elif self.adm_in == 4:
            self.del_stu()
        elif self.adm_in == 5:
            self.begin_win()
        else:
            print('输入命令错误,请重新输入')
            self.draw_func_win()

    def add_stu(self):
        while True:
            self.stu.name = input('请输入学生的姓名:').replace(' ', '')
            try:
                self.stu.age = int(input('请输入学生的年龄:'))
            except ValueError:
                print('输入错误,重新输入')
                continue
            self.stu.phone = input('请输入学生的电话号码:').replace(' ', '')
            a_stu = {'name': self.stu.name, 'age': self.stu.age, 'phone': self.stu.phone}
            self.students.append(a_stu)
            print('添加成功!')
            self.go_back()
            if self.adm_in == 2:
                break
            elif self.adm_in == 1:
                continue
        self.draw_func_win()

    def search_stu(self):
        count = 0
        if not self.students:
            print('暂时还没有学生')
        else:
            for student in self.students:
                count += 1
                print('第', count, '名学生:', end='')
                print('学生姓名:', student['name'], end='\t\t')
                print('学生年龄:', student['age'], end='\t\t')
                print('电话号码:', student['phone'])
        input('按回车退出')
        self.draw_func_win()

    def change_info(self):
        while True:
            try:
                count = int(input('您要修改第几组数据:'))
            except ValueError:
                print('输入错误,请重新输入')
                continue
            stu_len = len(self.students)
            if not 0 < count <= stu_len:
                print('超出界限,请重输')
                continue
            print('1.修改名字')
            print('2.修改年龄')
            print('3.修改号码')
            key_stu = int(input('请选择:'))
            if key_stu == 1:
                self.students[count - 1]['name'] = input('学生的姓名为:').replace(' ', '')
                print('修改成功!')
            elif key_stu == 2:
                try:
                    self.students[count - 1]['age'] = int(input('学生的年龄为:'))
                except ValueError:
                    print('输入错误,请重新输入')
                    continue
                print('修改成功!')
            elif key_stu == 3:
                self.students[count - 1]['phone'] = input('学生的电话号码为:').replace(' ', '')
                print('修改成功!')
            else:
                print('输入命令错误,请重新选择')
                continue
            self.go_back()
            if self.adm_in == 1:
                continue
            elif self.adm_in == 2:
                break
        self.draw_func_win()

    def del_stu(self):
        while True:
            try:
                count = int(input('您要删除第几组数据:'))
            except ValueError:
                print('输入错误,请重输')
                continue
            stu_len = len(self.students)
            if not stu_len:
                print('暂时没有学生,无法删除,退出...')
                self.adm_in = 2
            elif not 0 < count <= stu_len:
                print('超出界限,请重输')
                continue
            else:
                del self.students[count - 1]
                print('删除成功!')
                self.go_back()
            if self.adm_in == 1:
                continue
            elif self.adm_in == 2:
                break
        self.draw_func_win()

    def go_back(self):
        while True:
            try:
                self.adm_in = int(input('1.继续\t2.退出'))
            except ValueError:
                print('输入错误,请重试')
                continue
            if self.adm_in == 1:
                print('添加成功')
                break
            elif self.adm_in == 2:
                break
            else:
                print('输入错误命令,请重输')

# users.py
import json
users = [
    {'admin_id': 1, 'admin_name': 'tom', 'admin_psw': '1234'},
    {'admin_id': 2, 'admin_name': 'tina', 'admin_psw': '2345'},
    {'admin_id': 3, 'admin_name': 'dora', 'admin_psw': '3456'}
]
json_users = json.dumps(users)
运行结果:
C:\Users\Administrator\AppData\Local\Programs\Python\Python37\python.exe F:/千峰教育-python/语言基础python/day6-元祖和数字/test.py
=========================学生管理系统界面=========================
        1.登录
        2.注册(功能暂未实现)
        3.退出
==================================================================
请输入您的选择:1
请输入用户名:1
请输入密码:1
用户名不存在
请输入用户名:1
请输入密码:
用户名不存在
请输入用户名:tom
请输入密码:1234
登录成功!
=========================学生管理=========================
❀❀❀欢迎 tom :
        1.添加学生
        2.查看学生
        3.修改学生信息
        4.删除学生
        5.返回
==========================================================
您想进行的操作是:1
请输入学生的姓名:q
请输入学生的年龄:1
请输入学生的电话号码:2
添加成功!
1.继续    2.退出1
添加成功
请输入学生的姓名:q
请输入学生的年龄:3
请输入学生的电话号码:3
添加成功!
1.继续    2.退出2
=========================学生管理=========================
❀❀❀欢迎 tom :
        1.添加学生
        2.查看学生
        3.修改学生信息
        4.删除学生
        5.返回
==========================================================
您想进行的操作是:2
第 1 名学生:学生姓名: q     学生年龄: 1     电话号码: 2
第 2 名学生:学生姓名: q     学生年龄: 3     电话号码: 3
按回车退出
=========================学生管理=========================
❀❀❀欢迎 tom :
        1.添加学生
        2.查看学生
        3.修改学生信息
        4.删除学生
        5.返回
==========================================================
您想进行的操作是:3
您要修改第几组数据:1
1.修改名字
2.修改年龄
3.修改号码
请选择:1
学生的姓名为:2
修改成功!
1.继续    2.退出1
添加成功
您要修改第几组数据:1
1.修改名字
2.修改年龄
3.修改号码
请选择:2
学生的年龄为:20
修改成功!
1.继续    2.退出2
=========================学生管理=========================
❀❀❀欢迎 tom :
        1.添加学生
        2.查看学生
        3.修改学生信息
        4.删除学生
        5.返回
==========================================================
您想进行的操作是:2
第 1 名学生:学生姓名: 2     学生年龄: 20        电话号码: 2
第 2 名学生:学生姓名: q     学生年龄: 3     电话号码: 3
按回车退出4
=========================学生管理=========================
❀❀❀欢迎 tom :
        1.添加学生
        2.查看学生
        3.修改学生信息
        4.删除学生
        5.返回
==========================================================
您想进行的操作是:1
请输入学生的姓名:1
请输入学生的年龄:1
请输入学生的电话号码:1
添加成功!
1.继续    2.退出2
=========================学生管理=========================
❀❀❀欢迎 tom :
        1.添加学生
        2.查看学生
        3.修改学生信息
        4.删除学生
        5.返回
==========================================================
您想进行的操作是:4
您要删除第几组数据:3
删除成功!
1.继续    2.退出2
=========================学生管理=========================
❀❀❀欢迎 tom :
        1.添加学生
        2.查看学生
        3.修改学生信息
        4.删除学生
        5.返回
==========================================================
您想进行的操作是:2
第 1 名学生:学生姓名: 2     学生年龄: 20        电话号码: 2
第 2 名学生:学生姓名: q     学生年龄: 3     电话号码: 3
按回车退出5
=========================学生管理=========================
❀❀❀欢迎 tom :
        1.添加学生
        2.查看学生
        3.修改学生信息
        4.删除学生
        5.返回
==========================================================
您想进行的操作是:5
=========================学生管理系统界面=========================
        1.登录
        2.注册(功能暂未实现)
        3.退出
==================================================================
请输入您的选择:3
exit..

Process finished with exit code 0

你可能感兴趣的:(day6-作业)