number = int(input('请输入一个三位数的整数'))print('百位数', number // 100)print('十位数', number // 10 % 10)print('个位数', number % 10)
#思考:如何写出一个随机几位数的相应标题的拆分数字的代码
002、掷骰子游戏 ‘’’
游戏规则:
1.玩游戏要有金币,每局游戏消耗5枚金币;
2.每玩一局游戏赠金币一枚,也可充值获得金币
3.充值金币必须为10元的倍数,每10元可对应充值20枚金币
3.猜大小,随机生成两个1~6的随机数,超过六点认为是大,否则是小。若猜对,则奖励金币2枚,猜错没有奖励
4.游戏结束可以选择主动退出,或者没有金币被动退出
5.退出游戏时要打印剩余金币数和游戏局数
‘’’
'''游戏规则:1.玩游戏要有金币,每局游戏消耗5枚金币;2.每玩一局游戏赠金币一枚,也可充值获得金币3.充值金币必须为10元的倍数,每10元可对应充值20枚金币3.猜大小,随机生成两个1~6的随机数,超过六点认为是大,否则是小。若猜对,则奖励金币2枚,猜错没有奖励4.游戏结束可以选择主动退出,或者没有金币被动退出5.退出游戏时要打印剩余金币数和游戏局数'''import randomcoins = 0count = 0if coins < 5: print('金币不足请充值再玩') while True: money = int(input('请输入充值金额:')) if money % 10 == 0: coins += money // 10 * 20 print('充值成功,当前金币数量为%d个' % coins) print('~~~~~~~开启游戏之旅~~~~~~~') answer = input('是否现在开启游戏 y/n') while coins >= 5 and answer == 'y': coins -= 5 coins += 1 number_game_1 = random.randint(1, 6) number_game_2 = random.randint(1, 6) result_player = input('洗牌完毕,请猜测大小') if (number_game_1 + number_game_2 > 6 and result_player == '大') or (number_game_1 + number_game_2 <= 6 and result_player == '小'): print('恭喜猜对了,你赢了') coins += 2 else: print('很遗憾,本次猜错了') count+=1 answer = input('是否继续游戏 y/n') print('共玩了%d次,剩余金币数:%d'%(count,coins)) else: print('不是10的倍数,充值失败!') ## 003、猜拳游戏
003、猜拳游戏‘’‘三局两胜,剪刀,石头,布分别代表2,1,0’’’
import randomn = 1computer = 0player = 0while n <= 3: random_computer = random.randint(0, 2) guess_player = input('剪刀,石头,布分别代表2,1,0 n') if random_computer == player: print("平局,再来一把") if (random_computer == 0 and guess_player == 1) or (random_computer == 1 and guess_player == 2) or (random_computer == 2 and guess_player == 0): print("random_computer获胜") computer += 1 else: print("guess_player获胜") player += 1 n += 1if player > computer: print("最终guess_player获胜")else: print("最终random_computer获胜")
**
004、批量化格式化文件上传**
'''模拟文件上传,键盘键入文件的名称(xxx.jpg),判断文件名xxx是否大于6位,扩展名是否为jpggifpng格式如果不是则提示上传失败,如果名字不满足条件,而扩展名满足条件则随机生成一个6位数字组成的文件名,打印成功上传xxxx.png'''import randomfile = input('请输入图片文件全称:n')if file.endswith('jpg') or file.endswith('gif') or file.endswith('png'): #判断扩展名 i = file.rfind('.') name = file[:i] if len(name) < 6: # 判断文件的名字 filename = '' # 重命名文件的名字 string = 'qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM123456789' for m in range(0, 6): index = random.randint(0, len(string) - 1) filename += string[index] file = filename + file[i:] # 拼接新的文件名此前正确的文件后缀 print('成功上传%s文件' % file)else: print('文件格式错误,上传失败')
005、登录界面设置'''用户名=admin123 手机号码17937946135 密码200325可以选择用户名或者手机号+密码登录第一次验证:格式判断用户名中字母必须全部小写,首位不能是数字,长度必须6位以上手机号码是11位的纯数字,密码必须是6位数字第二次验证:内容判断判断用户名和密码是否正确,正确则成功,否则登录失败'''flag = Truewhile flag: name = input('用户名或者手机号码:') if (name.islower() and not name[0].isdigit() and len(name) >= 6) or (name.isdigit() and len(name) == 11): # 继续输入密码,密码输入错误允许多次输入 while True: password = input('密码') # 判断是否为6位数字 if len(password) == 6 and password.isdigit(): # 验证用户名和密码的正确性 if (name == 'admin123' or name == '17937946135') and password == '200325': print('用户登录成功') flag = False break else: print('用户名或者密码有误!') break else: print('密码必须是6位数字') else: print('用户名或者手机号码格式错误')
006、人员管理系统'''人员管理系统添加员工——>姓名、性别,手机号码删除员工修改员工查询单个员工显示所有员工退出系统'''import timeall_employee = []while True: print('--------欢迎进入人员管理系统--------') choice = input('请选择功能:n 1.添加员工n 2.删除员工n 3.修改员工信息n 4.查询单个员工n 5.显示所有员工n 6.退出系统n') if choice == '1': print('添加员工模块') name = input('t员工姓名') sex = input('t员工性别') phone_number = input('t员工的联系方式') employee = [name, sex, phone_number] # 将单个员工信息添加到人员管理系统 all_employee.append(employee) print('t 成功添加%s到人员管理系统!n' % (name)) elif choice == '2': print('删除员工模块') employee_name=input('请输入员工名') #查询是否存在此员工 for employee in all_employee: if employee_name in employee: answer=input('t存在该员工,确认删除?(y/n)') if answer=='y': all_employee.remove(employee) print('t成功删除员工:{}'.formate(employee_name)) break else: print('t本系统不存在该员工:{},请检查人员管理系统'.format(employee_name)) elif choice == '3': print('修改员工信息模块') employee_name1 = input('请输入员工名') # 查询是否存在此人员 for employee in all_employee: if employee_name1 in employee: answer1=input('t存在此人员,确认修改该员工信息?(y/n)') if answer1=='y': answer2=input('请选择修改信息的内容:1.性别 2.手机号码') if answer2=='2': pass elif answer2=='1': pass else: print('功能选择输入错误,请重新输入!') else: print('t本系统不存在该员工:{},请检查人员管理系统'.format(employee_name)) elif choice == '4': print('查询单个员工模块') #查询是否存在此人员 for employee in all_employee: if employee_name in employee: print('t存在此人员,人员信息如下:') print('t{}{}{}.format(employee[0].ljust(30),employee[1].ljust(30),employee[2].ljust(30))') break else: print('t本系统不存在该员工:{},请检查人员管理系统'.format(employee_name)) elif choice == '5': print('显示所有员工模块') print('{}{}{}'.format('名称'.center(10), '性别'.center(10), '手机号码'.center(10))) for employee in all_employee: print(employee[0].center(10), end='') print(employee[1].center(10), end='') print(employee[2].center(10), end='') print() elif choice == '6': print('正在退出人员管理系统~~~') time.sleep(10) # 休眠 print('成功退出人员管理系统') break else: print('功能选择输入错误,请重新输入!')
007、模拟论坛'''模拟论坛的信息的部分处理针对一句话允许不同用户可以发出不同评论,最多允许前3位用户做出评论回复的内容不能为空回复内容中不可以包含敏感词汇’血腥‘、’杀戮‘,’性侵犯‘最多评论20字,回复的内容前后不能有空格'''message=input('请发表一句话:')print('-*-'*10)n=1print('下面是回复的内容:')while n<=3: #输入用户名 username=input('请输入用户名:') while True: #输入回复内容 comment=input('评论:') comment=comment.strip() #验证内容 if len(comment) !=0: #验证字符长度是否超出20个字 if len(comment)<=20: #验证是否存在敏感词汇 comment=comment.replace('血腥','**') comment = comment.replace('杀戮', '**') comment = comment.replace('性侵犯', '**') print('t{}发表的评论是:nt{}'.format(username,comment)) break else: print('不能超出20字!') else: print('评论内容不能为空!') #成功则发出评论,否则重新输入 n+=1 passprint('本句话评论已满,暂时不可被评论!')
008、超市结账系统部分模拟'''买多件商品,每种商品都包含商品名称、商品价格、商品数量三条信息使用列表的嵌套解决问题'''container=[]flag=Truewhile flag: #添加商品 name=input('商品名称:') price=input('商品价格:') number=input('商品数量:') goods=[name,price,number] #将商品添加到container container.append(goods) answer=input('是否继续添加?(y/n)') if answer.lower()=='n': flag=Falseprint(container)print('-*-'*10)#遍历containerprint('名称tt价格tt数量')for goods in container: print('{}t{}t{}'.format(goods[0],float(goods[1]),int(goods[2])))
009、自动排序和手动排序问题# 手动实现冒泡排序(从小到大)number = [9, 5, 1, 4, 6, 7, 2, 3, 8]for j in range(0, len(number) - 1): for i in range(0, len(number) - 1 - j): if number[i] > number[i + 1]: a = number[i] number[i] = number[i + 1] number[i + 1] = aprint(number)#[1, 2, 3, 4, 5, 6, 7, 8, 9]# 自动排序number = [9, 5, 1, 4, 6, 7, 2, 3, 8]number.sort()print(number)# 交换变量的值——>利用Python的特点x = 10y = 88x, y == y, xprint('方法一变化',x,y)#方法一变化 10 88# 通用方法,利用中间变量x = 10y = 88print('方法二变化之前',x,y)#方法二变化之前 10 88temp = xx = yy = tempprint('方法二变化之后',x,y)#方法二变化之后 88 10