Python简单程序结构练习题
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<y: 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<y: 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<y: 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语句对用户的提示。