python实验3(程序控制结构)

1.猜数字游戏。

在程序中预设一个0-9之间的整数,让用户通过键盘输入所猜的数,如果大于预设的数,显示“你猜的数字大于正确答案”;小于预设的数,显示“你猜的数字小于正确答案”,如此循环,直至猜中该数,显示“你猜了N次,猜对了,真厉害”,其中N是用户输入数字的次数。

2.猜数字游戏续。改编1中的猜数字游戏,让计算机能够随机产生一个预设数字,范围在0-100之间,其他游戏规则不变。

 1 import random
 2 
 3 count = 0
 4 num = random.randint(0,100)
 5 guess = 0
 6 
 7 while guess != num:
 8     guess = int(input('请输入:'))
 9     if guess > num:
10         print('你猜的数字大于正确答案')
11     elif guess < num:
12         print('你猜的数字小于正确答案')
13     else:
14         print('你猜的数是正确答案')
15     count+=1
16 
17 print('你猜了{}次,猜对了,真厉害'.format(count))

 

3. 猜数字游戏再续。按如下要求改编2中猜数字游戏:

(1)异常处理,增加程序健壮性。请用异常处理改造猜数字游戏,使其输入的不是整数(如字母、浮点数等)时,不再出错终止,而是给出“输入内容必须为整数!”的提示,并让用户重新输入。

(2)增加程序灵活性。为了方便修改生成随机数的范围,将猜数字的最小值和最大值设为变量并进行统一设置。设置猜数字的最大次数,猜错后提示还有几次机会。

(3)改善用户体验。当用户没猜对时,根据猜数情况缩小猜解范围,以方便用户下次猜数。例如用户猜的数字为70,比实际数字大,那么就提示“@数字区间0-70,请输入你猜的数字:”;如果比实际数字小,就提示“@数字区间70-100,请输入你猜的数字:”

try:  except ex:  是异常处理语句。

 1 import random
 2 
 3 times = 6
 4 guess = -1
 5 MIN = 0
 6 MAX = 100
 7 secret = random.randint(MIN,MAX)
 8 print('-----欢迎参加猜数字游戏,请开始-----')
 9 while guess!=secret and times>0:
10     try:
11         guess = int(input('数字区间{}-{},请输入你的数字:'.format(MIN,MAX)))
12     except NameError and ValueError:
13         print('输入内容必须是整数!')
14         times-=1
15         guess = int(input("请重新输入猜测的数:"))
16     times-=1
17     if guess == secret:
18         print('猜对了,真厉害')
19     elif guess<secret:
20         print('太遗憾了,你猜错了,你猜的数字小于正确答案,你还有{}次机会'.format(times))
21         if MIN<guess:
22             MIN=guess
23     else:
24         print('太遗憾了,你猜错了,你猜的数字大于正确答案,你还有{}次机会'.format(times))
25         if MAX>guess:
26             MAX= guess
27    
28 
29 print('游戏结束')

 

posted @ 2022-04-27 21:25  逃离汽车尾气  阅读(1222)  评论(0)    收藏  举报