6.Python练习 (20200530)
Python练习 (20200530)
1.数字跳一跳
【游戏说明】
1)用户输入的数值范围在1-100以内
2)数值与随机数误差在5以内得分2分,6-30分得1分,相等得5分
3)连续相等按5的倍数得分,如5、10、15、20、25……
4)超出范围,游戏结束
1 import random,time 2 def in_num(): 3 '''录入数字''' 4 print('录入数字:') 5 res = int(input('>>>')) 6 return res 7 def cond_func(): 8 '''条件处理''' 9 print('*'*60) 10 time.sleep(0.2) 11 print('欢迎来到数字跳一跳') 12 time.sleep(0.2) 13 print('*'*60) 14 print('\n') 15 time.sleep(0.5) 16 print('-'*60) 17 time.sleep(0.2) 18 print('【游戏说明】') 19 time.sleep(0.1) 20 print('1.用户输入的数值范围在1-100以内') 21 time.sleep(0.1) 22 print('2.数值与随机数误差在5以内得分2分,6-30分得1分,相等得5分') 23 time.sleep(0.1) 24 print('3.连续相等按5的倍数得分,如5、10、15、20、25……') 25 time.sleep(0.1) 26 print('4.超出范围,游戏结束') 27 time.sleep(0.1) 28 print('-'*60) 29 print('\n') 30 time.sleep(0.5) 31 print('游戏开始') 32 time.sleep(0.5) 33 score = 0 # 记录用户得分 34 times = 0 # 用于记录用户输入数值与随机数相等的连续次数 35 while True: 36 rand_num = random.randint(1,100) # 生成随机数 37 print('电脑随机数已生成') 38 # print(rand_num) # 测试分数时可使用 39 time.sleep(0.2) 40 user_num = in_num() # 用户输入 41 time.sleep(0.2) 42 if user_num == rand_num: # 用户输入数值与随机数相等 43 if times == 0: # 判断是否是首次相等 44 score += 5 45 times += 1 # 首次相等,记录次数 46 elif times: # 非首次,则继续上次分数加成 47 times += 1 # 连续次数加1 48 score += 5*times 49 elif abs(user_num-rand_num) <= 5: # 误差5之内包含5 50 score += 2 51 times = 0 # 清空连续次数 52 elif 5 < abs(user_num-rand_num) <= 30: # 误差在6到30之内 53 score += 1 54 times = 0 # 清空连续次数 55 else: 56 print('你未跳中,游戏结束!') 57 time.sleep(0.2) 58 print('\n') 59 print('【你的总得分为:%s】'%score) # 显示总得分 60 print('\n') 61 break 62 print('当前分数:%s'%score) # 记录当前得分 63 print('-'*60) 64 print('\n') 65 time.sleep(0.2) 66 cond_func()
【输出结果】:



浙公网安备 33010602011771号