Python 用有限的猜测次数猜我的数字游戏

Python 用有限的猜测次数猜我的数字游戏,python,Python,我是python新手,我正在尝试让猜测成为我的数字游戏,最多只能猜测5次,到目前为止我尝试的一切都失败了。我该怎么做呢?我忘了提到我想让程序在玩家使用他们所有的猜测时显示一条消息。下面的代码只在5次猜测之后打印“你猜到了”部分,不管他们是否猜到了 import random print ("welcome to the guess my number hardcore edition ") print ("In this program you only get 5 guesses\n")

我是python新手,我正在尝试让猜测成为我的数字游戏,最多只能猜测5次,到目前为止我尝试的一切都失败了。我该怎么做呢?我忘了提到我想让程序在玩家使用他们所有的猜测时显示一条消息。下面的代码只在5次猜测之后打印“你猜到了”部分,不管他们是否猜到了

import random
print ("welcome to the guess my number hardcore edition ")

print ("In this program you only get 5 guesses\n")

print ("good luck")

the_number = random.randint(1, 100)

user = int(input("What's the number?"))

count = 1
while user != the_number:

    if user > the_number:
     print ("Lower")

    elif user < the_number:
     print ("Higher")

    user = int(input("What's the number?"))
    count += 1
    if count == 5:
     break


print("You guessed it!!, the number is", the_number, "and it only"\
       " took you", count , "tries")

input ("\nPress enter to exit")             
随机导入
打印(“欢迎来到猜猜我的数字硬核版”)
打印(“在此程序中,您只能猜测5次\n”)
印刷品(“好运”)
_数=random.randint(1100)
user=int(输入(“数字是多少?”))
计数=1
而用户!=电话号码:
如果用户>用户编号:
打印(“下”)
elif用户<用户编号:
打印(“更高”)
user=int(输入(“数字是多少?”))
计数+=1
如果计数=5:
打破
打印(“你猜对了!!,数字是“,”数字,“而且它只是”\
“带走了你”,伯爵,“尝试了”)
输入(“\n按enter键退出”)

您有两个选择:当计数器达到一定数量时,您可以
中断
循环,或者使用
进行
循环。考虑到您的代码,第一个选项是最简单的:

count = 0
while user != the_number:

    if user > the_number:
     print ("Lower")

    elif user < the_number:
     print ("Higher")

    user = int(input("What's the number?"))
    count += 1
    if count == 5: # change this number to change the number of guesses
        break # exit this loop when the above condition is met
count=0
而用户!=电话号码:
如果用户>用户编号:
打印(“下”)
elif用户<用户编号:
打印(“更高”)
user=int(输入(“数字是多少?”))
计数+=1
如果计数=5:#更改此数字以更改猜测次数
中断#当满足上述条件时退出此循环

您有两个选择:当计数器达到一定数量时,您可以
中断
循环,或者使用
进行
循环。考虑到您的代码,第一个选项是最简单的:

count = 0
while user != the_number:

    if user > the_number:
     print ("Lower")

    elif user < the_number:
     print ("Higher")

    user = int(input("What's the number?"))
    count += 1
    if count == 5: # change this number to change the number of guesses
        break # exit this loop when the above condition is met
count=0
而用户!=电话号码:
如果用户>用户编号:
打印(“下”)
elif用户<用户编号:
打印(“更高”)
user=int(输入(“数字是多少?”))
计数+=1
如果计数=5:#更改此数字以更改猜测次数
中断#当满足上述条件时退出此循环

您有两个选择:当计数器达到一定数量时,您可以
中断
循环,或者使用
进行
循环。考虑到您的代码,第一个选项是最简单的:

count = 0
while user != the_number:

    if user > the_number:
     print ("Lower")

    elif user < the_number:
     print ("Higher")

    user = int(input("What's the number?"))
    count += 1
    if count == 5: # change this number to change the number of guesses
        break # exit this loop when the above condition is met
count=0
而用户!=电话号码:
如果用户>用户编号:
打印(“下”)
elif用户<用户编号:
打印(“更高”)
user=int(输入(“数字是多少?”))
计数+=1
如果计数=5:#更改此数字以更改猜测次数
中断#当满足上述条件时退出此循环

您有两个选择:当计数器达到一定数量时,您可以
中断
循环,或者使用
进行
循环。考虑到您的代码,第一个选项是最简单的:

count = 0
while user != the_number:

    if user > the_number:
     print ("Lower")

    elif user < the_number:
     print ("Higher")

    user = int(input("What's the number?"))
    count += 1
    if count == 5: # change this number to change the number of guesses
        break # exit this loop when the above condition is met
count=0
而用户!=电话号码:
如果用户>用户编号:
打印(“下”)
elif用户<用户编号:
打印(“更高”)
user=int(输入(“数字是多少?”))
计数+=1
如果计数=5:#更改此数字以更改猜测次数
中断#当满足上述条件时退出此循环

您的编辑说,您希望区分循环结束是因为用户猜对了,还是因为他们猜对了。这相当于检测您退出
while
循环是因为其条件测试为false(他们猜到了数字),还是因为您遇到了
中断(如果他们猜不到,您就会这样做)。您可以在循环中使用
else:
子句来实现这一点,该子句在循环结束后,当且仅当您没有遇到中断时才会触发。在相同的条件下,仅当您将打印逻辑置于
中断
之前时,才可以打印某些内容。这就给了你:

while user != the_number:
    ...
    if count == 5:
        print("You ran out of guesses")
        break
else:
    print("You guessed it!!, the number is", the_number, "and it only"\
          " took you", count , "tries")
然而,这会使代码到处都是不同的东西。最好将“猜测正确”的逻辑与“较热/较冷”的逻辑组合在一起,而不是将它们与部分逻辑交织在一起,以确定猜测的次数。您可以通过在测试位置进行切换来实现这一点—将“是否正确”逻辑放在与较热/较冷的相同的
if
中,并将猜测逻辑的数量放在循环条件中(然后更好地表示为
for
循环)。所以你有:

for count in range(5):
    user = int(input("What's the number?"))
    if user > the_number:
        print("Lower")
    elif user < the_number:
        print("Higher")
    else:
        print("You guessed it!!, the number is", the_number, "and it only"\
              " took you", count , "tries")
        break
else:
    print("You ran out of guesses")
用于范围(5)内的计数:
user=int(输入(“数字是多少?”))
如果用户>用户编号:
打印(“下”)
elif用户<用户编号:
打印(“更高”)
其他:
打印(“你猜对了!!,数字是“,”数字,“而且它只是”\
“带走了你”,伯爵,“尝试了”)
打破
其他:
打印(“你猜不到了”)

您的编辑说,您希望区分循环结束是因为用户猜对了,还是因为他们猜对了。这相当于检测您退出
while
循环是因为其条件测试为false(他们猜到了数字),还是因为您遇到了
中断(如果他们猜不到,您就会这样做)。您可以在循环中使用
else:
子句来实现这一点,该子句在循环结束后,当且仅当您没有遇到中断时才会触发。在相同的条件下,仅当您将打印逻辑置于
中断
之前时,才可以打印某些内容。这就给了你:

while user != the_number:
    ...
    if count == 5:
        print("You ran out of guesses")
        break
else:
    print("You guessed it!!, the number is", the_number, "and it only"\
          " took you", count , "tries")
然而,这会使代码到处都是不同的东西。最好将“猜测正确”的逻辑与“较热/较冷”的逻辑组合在一起,而不是将它们与部分逻辑交织在一起,以确定猜测的次数。您可以通过在测试位置进行切换来实现这一点—将“是否正确”逻辑放在与较热/较冷的相同的
if
中,并将猜测逻辑的数量放在循环条件中(然后更好地表示为
for
循环)。所以你有:

for count in range(5):
    user = int(input("What's the number?"))
    if user > the_number:
        print("Lower")
    elif user < the_number:
        print("Higher")
    else:
        print("You guessed it!!, the number is", the_number, "and it only"\
              " took you", count , "tries")
        break
else:
    print("You ran out of guesses")
用于范围(5)内的计数:
user=int(输入(“数字是多少?”))
如果用户>