1.猜数游戏。在程序中预设一个0~9之间的整数,让用户通过键盘输入所猜数字,如果大于预设的数,

显示“遗憾,太大了”;如果小于预设的数,显示“遗憾,太小了”;如此循环,直至猜到该数,显示“预

测N次,你猜中了!”,其中N是用户输入数字的次数。

1 from random import*
2 x=randint(0,9)
3
4 for i in range(10):
5 y=eval(input("请输入一个0到九的数:"))
6
7 if x
8 print("遗憾,太大了")
9 elif x>y:
10 print("遗憾,太小了")
11 else:
12 print("预测"+str(i+1)+"次,""你猜中了")
13 break


此题调用了random库的randint()函数来产生一个随机整数,用户在for循环里面输入数字与随机数进行比较,

通过提示调整输入数字的大小,当输入数字与产生的随机数相等时,break跳出循环,程序结束。

2.统计不同字符个数。用户从键盘输入一行字符串,编写一个程序,统计并输出其中英文、数字、空格和其他

字符的个数。

1 x=input("输入你的字符串:")
2 a=b=c=d=0
3 for i in x:
4 if ord('a')<=ord(i)<=ord('z') or ord('A')<=ord(i)<=ord('Z'):
5 a=a+1
6 elif ord('0')<=ord(i)<=ord('9'):
7 b=b+1
8 elif ord(i)==ord(' '):
9 c=c+1
10 else:
11 d=d+1
12 print("这一行字符中字母的数量是:{},数字的数量是:{},空格数量是:{},其他字符的数量是:{}。".format(a,b,c,d))
13

内置函数order()返回单个字符表示的Unicode编码值。赋四种字符初始值为0,for循环遍历输入的字符串,

通过判断语句来区分字符类别并对遍历的字符个数进行递增。

4.4 猜数游戏。改编程序练习题4.1,让计算机随机产生一个预设数字,范围在0~100之间,其他游戏规则不变。

1 from random import*
2 x=randint(0,100)
3
4 for i in range(100):
5
6 try:
7 y=eval(input("请输入一个0到100的数:"))
8 if x
9 print("遗憾,太大了")
10 elif x>y:
11 print("遗憾,太小了")
12 else:
13 print("预测"+str(i+1)+"次,""你猜中了")
14 break
15 except NameError:
16 print("输入格式有误!")
17 finally:
18 print("执行完毕!")


加入简单的异常处理,对非数字类型进行处理

4.7 用异常处理改造4.1,使其能接收并处理用户的任何输入。

1 from random import*
2 x=randint(0,9)
3 print("{0:*^50}".format("猜数字游戏"))
4 for i in range(10):
5
6 try:
7 y=eval(input("请输入一个0到9的数:"))
8 if x
9 print("遗憾,太大了")
10 elif x>y:
11 print("遗憾,太小了")
12 else:
13 print("预测"+str(i+1)+"次,""恭喜你,你猜中了!")
14 break
15 except NameError:
16 print("输入格式有误!")
17 else:
18 print("没关系,继续加油!")
19 finally:
20 print("这是第{}猜".format(i+1))
21 print("{0:*^30}".format("游戏结束"))


此题是相对题一和题四的优化版,加入了else的补充内容,还有每次循环执行完毕finally语句对用户的提示。