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()

  【输出结果】:

 

posted @ 2020-05-30 16:07  星落……  阅读(63)  评论(0)    收藏  举报