首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Python3.5.1 Python2.1介绍Mark While循环问题

Python3.5.1 Python2.1介绍Mark While循环问题
EN

Stack Overflow用户
提问于 2016-02-08 16:50:19
回答 2查看 293关注 0票数 2

我正在努力完成这套教程。在3.2a节中,当循环下面的代码时,应该一直循环到用户输入目标号码(7),然后显示一条祝贺消息,不管输入了哪个数字,Python要么给出正确的答案,要么给出错误的答案,甚至7有时也会标记错误的答案。我知道还有其他方法来执行这类任务,但我想让教程中的代码开始工作。

代码语言:javascript
运行
复制
targetNumber = 7
guess = input("Guess a number between 1 and 10 ")
while guess != targetNumber:
    print("Wrong, try again ")
    guess = input("Guess a number between 1 and 10 ")
    print("Congratulations - that's right!")
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-02-08 16:56:53

在进行比较之前,应该将目标数字转换为字符串。此外,您应该从循环中排除祝贺消息。我建议:

代码语言:javascript
运行
复制
targetNumber = str(7)
guess = input("Guess a number between 1 and 10 ")
while guess != targetNumber:
    print("Wrong, try again ")
    guess = input("Guess a number between 1 and 10 ")
print("Congratulations - that's right!")

细节是输入返回一个字符串,如果您将一个字符串与一个整数进行比较,它将始终返回false。

票数 2
EN

Stack Overflow用户

发布于 2016-02-08 16:55:19

Python的输入函数(或者Python2.x中的raw_input )返回用户输入的字符串。另一方面,targetNumber是一个整数。在Python解释器中,尝试:

代码语言:javascript
运行
复制
>>> 7 == "7"
False

您需要先将用户的输入转换为整数。

代码语言:javascript
运行
复制
try:
    guess = int(input("Please enter a number: "))
except ValueError:
    print("That is not a valid number!")
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35274893

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档