繁体   English   中英

猜数字游戏Python(while循环)

Guess the number game Python (while loop)

提示:本站收集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()
2 个回复

您可以通过在代码中添加一行来执行此操作,在内部 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
1 猜数字游戏中的while循环

我需要编写代码,让您猜测 1 到 10 之间的数字并使用循环。 它必须使用 System.in.read() 方法来获取用户输入。 正确的数字是 7,当你猜到它结束时。 如果你猜错了,它会告诉你再试一次。 我不知道为什么我的代码不能正常工作,所以我可以使用一些帮助。 我得到的输出很奇怪,无论我输入什 ...

2 Python中的猜数字游戏的控制循环

我正在尝试编写一个程序,该程序生成一个伪随机数,并允许用户猜测它。 当用户最有可能猜到数字错误时,我希望函数返回条件循环的开头,而不是函数的开头(这将使其生成新的伪随机数)。 这是我到目前为止的内容: 如何使伪随机数在本地不可变,以便在错误猜测之后数字不会改变? ...

3 使用While循环和函数进行猜数字游戏

这个猜数字游戏包含两个版本。 在第一个版本中,计算机选择该号码,然后用户猜测直到找到正确的号码。 在第二个版本中,用户选择数字,然后计算机猜测它是什么。 我写了下面列出的程序,它运行得很好,所以我不需要那部分的帮助。 但是,我需要在其中实现两个功能。 这两个函数必须使用一个参数,第二个 ...

4 猜数字游戏Python

所以,我是 python 的新手,我遇到了这个挑战:我必须在我和计算机之间进行猜数字游戏。 所以这就是我目前所处的位置。 我想知道如何让这在我们中的一个人正确之前不会停止? ...

2020-05-30 05:17:18 4 292   python
5 我的Python猜数字游戏

我一直在尝试为Python创建一个数字猜谜游戏,到目前为止,它完全进行得很好。 但是令我烦恼的是,它会在每次猜测时重置数字,以使其有所不同,但是我希望它保持不变,然后人们可以花点时间猜测它。 ...

2016-07-08 10:29:18 3 153   python
6 猜游戏,带有While循环

我目前正在尝试为我的程序(猜测游戏)创建一个while循环。 我进行了设置,以便用户可以创建最大值(即1-500),然后用户可以继续猜测该数字。 猜到数字后,用户可以按数字1来关闭,然后再按其他任何按钮即可继续运行循环。 我的问题是,代码在尝试继续循环时给了我一个错误,没有编译错误 ...

7 Python 猜 2 数字游戏

问题是 编写一个程序,将 1 到 100 之间的两个随机生成的自然数(正整数)的和 (a+b) 和乘积 (a*b) 打印给用户。要赢得游戏,用户必须猜测这两个数字,猜测的顺序应该无关紧要。 给用户三个猜测,如果在三个猜测之后他们错了,则向他们显示数字。 用户必须在一轮中正确猜出两个猜测,并且不会被告 ...

2020-10-27 13:02:18 1 274   python
8 猜数字游戏python

所以我正在做一个猜测数字游戏,要求之一是要更新数字的“范围”,以便用户可以更轻松地进行猜测。 当数字太高或太低时,我都创建了一个新输入。 但是,我对循环不是很好,而且我无法弄清楚为什么我的循环只重复一次而没有一遍又一遍地粘贴代码。 任何人都可以帮忙,以便elif语句会重复直到数字正确为止? ...

9 Python猜数字游戏

我试图用python猜数字游戏,但是每当我猜它重复4次“您的猜测太低”时, ...

10 Python:猜数字游戏

您的程序通过随机选择一个介于1到1000(含)之间的整数来选择要猜测的数字。 如果玩家的猜测不正确,则您的程序应循环播放,直到玩家最终正确地获得数字为止。 您的程序应不断告诉播放器过高或过低,以帮助播放器“零插入”正确答案。 游戏结束后,程序应提示用户输入“ y”以再次玩游戏或输入“ n” ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM