这段代码修改后基本上不再会报错了! 非常的好!!
age = 30c = 0 #定义记数器for 次数 in range(6): if c < 3: while True: guess = input("请输入一个猜猜的数字 :") if guess.isdigit(): guess = int(guess) break else: print("你的输入有误,请重新输入int类型的数字NO.!") if guess == age: #如果 用户输入的guess值和age相同 print("Yes,your are right") #输入如下对话 continue_confirm = input("continue press 'yes',exit press 'no':") #弹出一个input语句 if continue_confirm == 'yes': #如果变量等于input的yes c = 0 #有趣的地方在这里!! 回到了计数器=0的时候,再度执行上面的从 c=0的以下的语句 elif continue_confirm == 'no': #elif ,输入的是no的话,那么就 打出see you 字符串,并且接下来quit() print("see you") quit() else: print("输错了") elif guess < age: print("It is too little") else: print("Tt is too big") else: continue_confirm = input("continue press 'yes',exit press 'no':") if continue_confirm == 'yes': c = 0 elif continue_confirm == 'no': print("see you") quit() else: print("Wrong words") c += 1
其中,增加了个
if guess.isdigit(): guess = int(guess) break else: 表示,如果确实输入的是int ,那就放行, 否则else的话:就弹出重新输入int类型的…… while 是当循环结构,当while 后的条件为真时进行loop,False则终止循环
age = 30 #变量赋值 age 是 30c = 0 #定义记数器 #c作为计数器的次数计算,c=0表示从零开始记录次数for i次数 in range(8): #共可以猜的次数为8次 i可以改为任意字母或者汉字(例如“次数”) if c < 3: #如果计数器c,也就是6记录的猜的次数小于3下 while True: # 英文本意是:当为真时,一直循环 guess = input("请输入一个猜猜的数字 :") #input 内置函数 if guess.isdigit(): #如果输入的内容是 整形数字 guess = int(guess) #同上 break #那就放行,不做任何反应 else: print("你的输入有误,请重新输入int类型的数字NO.!") #否则,弹出提示