"""题目:练习使用python写一个猜数字的游戏,数字范围0-100,每次猜错,需要给出缩小后的范围,每个人只有10次的猜测机会,猜测机会用完游戏结束! """#方法一:(增加了输入异常的处理,输入非法不计入输入次数中) # coding:utf-8 import random from time import sleep print("欢迎您来玩猜数字游戏\n" "游戏规则如下:\n" "\"请从0-99中任意猜一个数字,如果您猜的数字与系统产生的数字" "相同,即猜中,反之亦然!\"\n\"切记,您只有10次机会!\"") print("现在游戏开始!") tmp=random.randint(0,100) times=0 min=0 max=100 while 1: try: a=input("请输入你要猜的数字:") times=times+1 except: print("不能输入非数字的内容!") continue if times<=10: if 0<=a<=100: if a<tmp: min=a print("真遗憾,您猜错了,现在范围是%d-%d" %(min,max)) elif a>tmp: max=a print("真遗憾,您猜错了,现在范围是%d-%d" %(min,max)) elif a==tmp: if times==1: print("您真是太棒了,一次就猜中了!") else: print("恭喜您,您答对了!\n您一共花了%d次" %times) break else: print("您输入的数字有误,请重新输入!") else: print("真遗憾,您的机会用完了>﹏<") break sleep(1) print("猜数字游戏结束,再玩一次吧^_^!")#方法二:(输入错误的不计入次数)
import random print("欢迎您来玩猜数字游戏\n" "游戏规则如下:\n" "\"请从0-99中任意猜一个数字,如果您猜的数字与系统产生的数字" "相同,即猜中,反之亦然!\"\n\"切记,您只有10次机会!\"") tmp=random.randint(0,100) min=0 max=100 a=101 times=0 while a!=tmp: if times<=10: times=times+1 a=input("请猜一个%d-%d之间的数字:"%(min,max)) if min<=a<=max: if a<tmp: min=a print("真遗憾,您没猜中") elif a>tmp: max=a print("真遗憾,您没猜中") else: print("您输入的数字有误,请输入一个%d-%d的数字!"%(min,max)) else: print("真遗憾,您的机会用完了>﹏<") break if a==tmp: if times==1: print("您真是太棒了,一次就猜中了!") else: print("恭喜您,您猜对了!\n猜字游戏结束!您一共用了%d次"%times)