python - 我的代码跳过了 if 语句。(蟒蛇2.7)
问题描述
嗨,我对 python 编码很陌生,但我不知道为什么这段代码不起作用。
prompt = "> "
def pos(answer):
print answer
if 0 < answer < 12:
print "Damn you'r young, but you can still do a lot of things.\n"
elif 65 < answer < 110:
print "Wow you'r old, but never to old to learn something.\n"
elif answer < 0:
print "You should input a positive number."
else:
print "I didn't understand you, try inputting a number."
print "Hi there, what's your name?"
name_a = raw_input(prompt)
print "Hi %s, how old are you?" % name_a
age = raw_input(prompt)
pos(age)
对于我给出的每一个输入,它都会转到 else 并打印“我不明白你......”。
解决方案
由于您使用的是 python 2(raw_input
python 3 中没有),因此raw_input
返回一个字符串。要从输入中获取整数,请使用input
.
prompt = "> "
def pos(answer):
print answer
if 0 < answer < 12:
print "Damn you'r young, but you can still do a lot of things.\n"
elif 65 < answer < 110:
print "Wow you'r old, but never to old to learn something.\n"
elif answer < 0:
print "You should input a positive number."
else:
print "I didn't understand you, try inputting a number."
print "Hi there, what's your name?"
name_a = input(prompt)
print "Hi %s, how old are you?" % name_a
age = input(prompt)
pos(age)
旁注:int(input())
用于 python 3
如果出于某种原因您希望代码在 python 2 和 python 3 中运行,试试这个
raw_input = input # since `input` exist in both python 2 and python 3
age = int(raw_input("..."))
推荐阅读
- python - 使用 pygame.quit() 关闭后的 Python Pygame 我无法在不停止整个脚本并重新启动的情况下再次打开它
- javascript - 如何使用按钮暂停运行倒计时以重定向页面?
- excel-formula - MS Excel 论坛帮助
- java - Android Studio Room:无法创建数据库文件
- python - 默认情况下,有什么方法可以在 python 中使用双引号获取字符串?
- ios - 无法删除 UITableViewCell 内的 UILabel 中的删除线属性
- reinforcement-learning - 如何为具有未知动力学的机器人创建环境以进行 q-learning?
- python - 如何使用 aiohttp multipartwriter 发送图像?
- laravel - 带有身份验证中间件的表单发布请求在 Laravel 8 中引发错误 419 页面已过期
- ios - Realm Swift:对象列表不起作用