这是代码:
import sys
print (sys.version)
x = 'a'
y = '3'
z = x + y
print ('Hey')
print ('whats your age buddy')
d = raw_input(int)
print (d)
If ( d > 22 )
print('good to go')
Else
print('get out')
这就是我得到的:
C:\ Python27 \ python.exe C:/Users/HP/PycharmProjects/untitled/Test.py 2.7.13(v2.7.13:a06454b1afa1,2016年12月17日,20:42:59)[MSC v.1500 32 bit(Intel)]
喂
你的年龄伙伴
5
5
追踪(最近一次呼叫最后一次):
文件" C:/Users/HP/PycharmProjects/untitled/Test.py",第10行,在 如果(d> 22)
NameError:name'如果'未定义
使用退出代码1完成处理
请帮助!!
答案 0 :(得分:2)
<强> TLDR:强>
解决方案修复和&#34;指导&#34;下面:
import sys
print (sys.version)
x = 'a'
y = '3'
z = x + y
d = str(raw_input('Hey\nWhats your age buddy? '))
e = int(d)
print (e)
if (e > 22):
print('good to go')
else:
print ('get out')
夫妻俩:
x
,y
或z
或sys.version
与您的任何问题有什么关系。你的意思是以某种方式实现它们吗?由于您使用的是raw_input
,我将假设您拥有Python 2.x版本。内置函数int()
的Python 2.x是您想要的d
。或者,您不必将其作为integer
,但您可以比较strings
;但是让我们走integer
路线。
我打破了这一部分,因为它不是你问题的主题:
import sys
print (sys.version)
x = 'a'
y = '3'
z = x + y
但是,我们可以在这里做更清洁的事情:
而不是:
print ('Hey')
print ('whats your age buddy')
d = raw_input(int)
print (d)
这样做:
d = str(raw_input('Hey\nWhats your age buddy? '))
e = int(d)
print (e)
这使得d
成为str
或string
并使用Python 2.x raw_input
来获取该字符串。 \n
是new line
方法,只是将该单行命令的第二部分放在下一行。这只是更少的代码!
假设您仅将d
作为数字,使用int(d)
将string
和integer
转换为以下if/else
条件。
而不是:
If ( d > 22 )
print('good to go')
Else
print('get out')
这样做:
if (e > 22):
print('good to go')
else:
print ('get out')
现在您的条件将integer
(即e
)与另一个integer
(即22)进行比较。 Python还要求在每个:
,if
或elif
的末尾都有else
,然后再转到您的陈述。
另外,处理缩进以便您可以知道嵌套在什么代码下的代码!
答案 1 :(得分:1)
如果您刚开始使用python,我建议学习python 3而不是python 2.因为python 3是现在和未来,而python 2是过去的,不会再进一步更新。
如果您执行此操作,您的代码将会运行:
d = int(raw_input('whats your age buddy'))
print(d)
if d > 22:
print('good to go')
else:
print('get out')
答案 2 :(得分:0)
检查你的if语句:
语法是
if expression:
statement(s)
else:
statement(s)
答案 3 :(得分:0)
如前所述,你的if语句是错误的。 它应该是以下形式:
if expression:
do this
else:
do this other thing
你的另一个问题是你使用的是raw_input()错误。括号中的部分是输入的前缀。例如:
s = raw_input('hello')
print s
会询问用户输入,并在其前面加上单词hello。这个程序的一个例子是:
ryan
>>>helloryan