本帖最后由 heidern0612 于 2018-12-23 20:03 编辑
你想输入浮点型数字,抱歉输入不了。
因为ramdom模块引入的randint方法就是整数,不支持浮点。
如果支持浮点型随机,那python就太不严谨了,小数点后有无限位数,python怎么选择判断?
有思维是好的,但是思维有漏洞,除非你可以重新写个模块,限定下小数点后的位数。
如果你不想输入有误换行的话,可以这么写print("您的输入有误,请输入一个整数",end = " ")
上述发生重复是因为你当前while循环判定条件并不符合退出,所以一直在重复。
当你 guess == secret and time = 0的时候,循环才会退出。(这里应该用or ,不应该用and。)
另外,如果你想wrong == 0的时候,程序退出,就在wrong == 0的下面,break程序。
按你的要求给你写的小程序,只能判定整数,带输入三次错误类型机会和5次猜错机会。
- import random
- wrong = 3#让玩家有3次输路类型错误的机会
- times = 5
- secret = random.randint(1,100)
- print("--------Rqyquaza的第一个小游戏--------")
- guess = 0
- print("猜一下我心里想的是什么数字:", end=" ")
- while (guess !=secret) or (times > 0):
- temp = input()
- if temp.isdigit():
- guess = int(temp)
- if guess == secret:
- print("猜对了,但没有奖励QAQ")
- break
- else:
- if guess > secret:
- print("大锅,大了大了~~~~")
- else:
- print("兄得,小了小了~~~~")
- if times > 1:
- print("再试一次吧:", end=" ")
- else:
- print(f"机会用光光了T-T,正确答案是:{secret}")
- break
- else:
- wrong -= 1
- if wrong == 2:
- print("您的输入有误,请输入一锅整数:",end = " ")
- elif wrong == 1:
- print("程序并不支持你输入的数:",end = " ")
- elif wrong == 0:
- print("你还真是倔强啊!拜拜!",end = " ")
- break
- times -= 1
-
- print("结束")
复制代码