mark = raw_input
if mark < 50:
print "your mark is unsatisfactory!"
else:
print "your mark is satisfactory!"
我想根据用户输入的数字来创建答案。但是,当我运行代码时,它只会显示“您的商标令人满意!”我似乎无法弄清楚为什么它不让我输入数字。为什么python忽略我的其他代码行?
mark = raw_input
if mark < 50:
print "your mark is unsatisfactory!"
else:
print "your mark is satisfactory!"
我想根据用户输入的数字来创建答案。但是,当我运行代码时,它只会显示“您的商标令人满意!”我似乎无法弄清楚为什么它不让我输入数字。为什么python忽略我的其他代码行?
您需要拨打raw_input
。现在你只需要函数的值,它总是为真(因为对于Python来说,函数是真实的)。添加一些括号使其raw_input()
实际调用该函数。你也想调用int(raw_input())
从字符串中获得一个整数。
呼叫raw_input
,像
mark = int(raw_input("enter something"))
if mark < 50:
print "your mark is unsatisfactory!"
else:
print "your mark is satisfactory!"
注意转换为int,因为raw_input
返回一个字符串。
此刻你正在做的是创造是指功能raw_input
另一个变量,它比较对50
那是因为你不调用该函数。
你要做的:
answer = raw_input('your question')
此外,answer
的类型是str
。因为它看起来像你想将它用数字比较,你必须转换成一个数字:
answer = int(answer) # if you want an int
answer = float(answer) # if you want a float
注:通过做
mark = raw_input
mark
现在等于功能,女巫意味着如果你这样做mark('...')
,它会做同样的事情比raw_input('...')
你需要真正调用'raw_input',像'raw_input()'。目前你只是创建了一个对函数的引用。 –
简单的答案是'raw_input()'(注意圆括号!)返回一个*字符串*不是一个整数。这是重复的,尽管我无法找到副手目标 – Ajean