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