2017-02-26 30 views
-3

感谢您抽出时间回答此问题。我刚开始学习python,我很难过。无法启动并运行此Python代码

这是代码:

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, Dec 17 2016, 20:42:59) [MSC v.1500 32 bit (Intel)]

Hey

whats your age buddy

5

5

Traceback (most recent call last):

File "C:/Users/HP/PycharmProjects/untitled/Test.py", line 10, in If (d > 22)

NameError: name 'If' is not defined

Process finished with exit code 1

请帮助!

+0

我投票结束这个问题作为题外话,因为这不是一个辅导服务。 – TigerhawkT3

+0

顺便说一下,'raw_input(int)'不会做你的想法。该函数总是返回一个字符串。 –

+0

如果你“刚开始学习”并且被“困住”,解决方法是继续学习,不要一起折腾几行,并要求某人修复它。 – TigerhawkT3

回答

2

TLDR:

解决方案修复和 “传帮带” 的:

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') 

两件事情:

  1. 当人们赞成并且提供绝对没有帮助或方向的时候,受不了下一次提问时变得更好。所以,从中学习,不要因为“为什么他们在低估投资?”并专注于学习。总有一个地方可以教导那些想学习的人。
  2. 不知道什么x,yzsys.version必须与您的任何问题。你的意思是让他们以某种方式实施?
  3. 您有几个语法问题,我在下面进行了更正和详细说明。

由于您使用的是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 

但是,我们可以在这里做清洁事情:

  1. 让清理你的IO(输入/输出) :

相反的:

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一个strstring和使用Python 2.x的raw_input得到该字符串。 \nnew line方法,只是将该单行命令的第二部分放在下一行。这只是更少的代码!

假如您保持d作为数字只使用int(d)转换您的stringinteger下方您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还需要在每个ifelifelse的末尾有一个:,然后再转到您的语句中。

    此外,工作缩进,所以你可以知道什么代码嵌套在什么!

    +0

    非常感谢。 x,y,z和sys只是为了感受这种语言。在这里提出这个问题之前,我花了几个小时浏览网页。再次感谢您花时间回答这个问题。 :) –

    0

    检查您的if语句:

    语法

    if expression: 
        statement(s) 
    else: 
        statement(s) 
    
    +0

    非常感谢你帮助我。 –

    1

    如果你刚刚起步的蟒蛇,我建议学习,而不是蟒蛇2.巨蟒-3因为Python 3本和未来,而蟒蛇2是过去,将不会进一步更新。

    如果你这样做你的代码将运行:

    d = int(raw_input('whats your age buddy')) 
    print(d) 
    if d > 22: 
        print('good to go') 
    else: 
        print('get out') 
    
    +0

    非常感谢。 :)我一定会尝试一下,它看起来像一个更干净的代码。 –

    0

    你的if语句是错误的,如前所述。 它应该在的形式:

    if expression: 
        do this 
    else: 
        do this other thing 
    

    你的另一个问题是,你使用的是的raw_input去括号是你输入的前缀()wrong.The一部分。例如:

    s = raw_input('hello') 
    print s 
    

    会要求用户输入,并用单词hello作为前缀。这个程序的一个例子是这样的:

    ryan 
    >>>helloryan