无法启动并运行此Python代码

时间:2017-02-26 01:28:17

标签: 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,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完成处理

请帮助!!

4 个答案:

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

夫妻俩:

  1. 当人们匆匆忙忙并且在下次你不得不提出问题时绝对没有任何帮助或指示变得更好时,它就无法站立。所以要从中吸取教训,不要因为&#34;为什么他们贬低他们而感到沮丧?&#34;并专注于学习。总有一个地方可以教导那些想要学习的人。
  2. 不确定xyzsys.version与您的任何问题有什么关系。你的意思是以某种方式实现它们吗?
  3. 您有几个语法问题,我在下面更正并详细说明。
  4. 由于您使用的是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(输入/输出):
    2. 而不是:

      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条件。

      1. 让我们纠正这些条件:
      2. 而不是:

        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还要求在每个:ifelif的末尾都有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