我需要编写代码,让您猜测 1 到 10 之间的数字并使用循环。 它必须使用 System.in.read() 方法来获取用户输入。 正确的数字是 7,当你猜到它结束时。 如果你猜错了,它会告诉你再试一次。 我不知道为什么我的代码不能正常工作,所以我可以使用一些帮助。 我得到的输出很奇怪,无论我输入什 ...
提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供 中文繁体 英文版本 中英对照 版本,有任何建议请联系yoyou2525@163.com。
我正在尝试创建一个游戏,要求用户进行猜测,如果猜测低于随机生成的 integer,那么它将打印('太低。再试一次,)。 如果猜测值高于猜测值,它将打印('太高?再试一次),如果猜测值等于随机 integer,那么它将询问用户她是否想再玩一次。 这是我遇到问题的地方 - 如果输入“y”,我怎样才能让代码循环回来重新创建随机 integer 并启动循环?
import random
def main():
again='y'
count=0
while again=='y':
print('I have a number between 1 to 1000.')
print('Can you guess my number?')
print('Please type your first guess')
number=random.randint(1, 1000)
print(number)
guess=int(input(''))
while guess !='':
if guess>number:
print('Too high, try again!')
count+=1
print('count:',count)
guess=int(input(''))
elif guess<number:
print('Too low, try again!')
count+=1
print('count:',count)
guess=int(input(''))
elif guess==number:
print('Excellent!! You guessed the number!!!!')
print('Would you like to try again? (y or n)')
count+=1
print('count:',count)
again=str(input(''))
else:
print('You entered an invalid value')
main()
您可以通过在代码中添加一行来执行此操作,在内部 while 循环中使用break
,在下面的这部分中,如果用户通过again
获取新输入准确地猜到了数字,它将中断内部循环,然后 if again
= 'y'
它将再次启动外循环并再次生成随机数,否则游戏将结束。
elif guess==number:
print('Excellent!! You guessed the number!!!!')
print('Would you like to try again? (y or n)')
count+=1
print('count:',count)
again=str(input(''))
break # added this `break`, it will break the inner loop
由于您处于两个循环中,因此您必须打破最深的一个。 对于您的情况,这里有两种方法。
伊瑟将“猜测”更新为:'':
elif guess==number:
print('Excellent!! You guessed the number!!!!')
print('Would you like to try again? (y or n)')
count+=1
print('count:',count)
again=str(input(''))
guess=''
或者在再次输入后添加一个中断:
elif guess==number:
print('Excellent!! You guessed the number!!!!')
print('Would you like to try again? (y or n)')
count+=1
print('count:',count)
again=str(input(''))
break
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.