Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python初学者脚本不符合预期_Python_Python 2.7 - Fatal编程技术网

Python初学者脚本不符合预期

Python初学者脚本不符合预期,python,python-2.7,Python,Python 2.7,我试着根据我刚学的内容编写一个完全独立的脚本,以确保我理解它。在下面的代码中,我无法理解为什么在猜测正确的随机数时,它从未到达我的ELSE:statement,打印出猜测是正确的?我知道答案必须很简单,但我只是感到困惑 from sys import exit import random print "Guess the number between 1 thru 10" print "You have 3 tries" guess = raw_input("Enter a guess--&g

我试着根据我刚学的内容编写一个完全独立的脚本,以确保我理解它。在下面的代码中,我无法理解为什么在猜测正确的随机数时,它从未到达我的ELSE:statement,打印出猜测是正确的?我知道答案必须很简单,但我只是感到困惑

from sys import exit
import random

print "Guess the number between 1 thru 10"
print "You have 3 tries"
guess = raw_input("Enter a guess-->")

tries = 3
random_number = random.randrange(1,10)
while tries > 1 and guess != random_number:
    print "That's not the number, try again!"
    print "Tries remaining:", tries - 1
    guess = raw_input("Next guess?-->")
    tries = tries - 1

if guess != random_number:
    print "Sorry, you lose!"
    print "The number was", random_number
    exit(0)

else:
    print "You guessed it!"

您需要将您的
guess
作为
int
进行比较
raw_intput
从输入中读取一行并将其转换为字符串

from sys import exit
import random

print "Guess the number between 1 thru 10"
print "You have 3 tries"
guess = raw_input("Enter a guess-->")

tries = 3
random_number = random.randrange(1,10)
while tries > 1 and int(guess) != random_number:
    print "That's not the number, try again!"
    print "Tries remaining:", tries - 1
    guess = raw_input("Next guess?-->")
    tries = tries - 1

if int(guess) != random_number:
    print "Sorry, you lose!"
    print "The number was", random_number
    exit(0)

else:
    print "You guessed it!"

为什么要投反对票,先生们?真的吗?好的,删除了“不正确”的部分。也就是说,我希望它将该行从字节转换为字符串,而不是从
int
转换为字符串。我认为那句话有误导性。你仍然会将
guess
转换为
int
两次。那么,你知道有什么更好的方法可以实现archieve OP的目标,而不用使用OP的代码进行两次
guess
吗?我试过
guess=int(原始输入(“输入一个猜测-->”)和
guess=int(原始输入(“下一次猜测?”)
)。对不起,我之前的评论让人困惑。这怎么会是重复的?我知道字符串和整数之间的区别在“复制”帖子中有解释,但作为一个因论坛而幸存下来的IT专业人士,我对编程很陌生,因此避免了一个重复的问题,当我说我是一个初学者时,没有错误信息可遵循,甚至不确定在哪里研究答案,因为我没有得到任何关于问题发生原因的信息?我尝试逐行执行shell命令,结果显示我的变量在原始输入命令之后是一个整数?