Python代码赢得';不要运行第一行提示符

Python代码赢得';不要运行第一行提示符,python,Python,为什么下面的python代码不立即运行第一行并提示多少年? years=input('how many years?') amount=input('how much money?') if amount < 10000: interest = 1.1 total = amount * interest print total else amount >= 10000: interest = 1.2 total = amount * int

为什么下面的python代码不立即运行第一行并提示
多少年?

years=input('how many years?')

amount=input('how much money?')

if amount < 10000:
    interest = 1.1
    total = amount * interest
    print total
else amount >= 10000:
    interest = 1.2
    total = amount * interest
    print total'
years=输入(“多少年”)
金额=输入(“多少钱?”)
如果金额<10000:
利息=1.1
总额=金额*利息
打印总数
其他金额>=10000:
利息=1.2
总额=金额*利息
打印总数'

您在上有语法错误

else amount >= 10000:
应该是

elif amount >= 10000:
print total
最后一行还有另一个语法错误,应该是

elif amount >= 10000:
print total

(即去掉

您在

else amount >= 10000:
应该是

elif amount >= 10000:
print total
最后一行还有另一个语法错误,应该是

elif amount >= 10000:
print total

(即去掉

在if/else语句中,未检查金额>=10000的条件

把那行改成

elif amount >= 10000:

代码应该正确编译。

在if/else语句中,未检查amount>=10000的条件

把那行改成

elif amount >= 10000:

您的代码应该能够正确编译。

有两个问题


第一个是
else
应该是
elif
,并且在您发布的代码末尾有一个勾号,我怀疑这可能是因为发布的代码有两个问题


第一个是
else
应该是
elif
,并且在您发布的代码末尾有一个勾号,我怀疑这可能是因为发布了而不是一行一行地运行脚本,Python实际上是在运行任何脚本之前先将整个脚本编译成虚拟机表示。因为您的脚本包含语法错误(在
else amount…
部分中),所以Python应该在您尝试运行它时向您指出这一点。以下是我在运行脚本时得到的信息:

$ python test.py
  File "test.py", line 9
    else amount >= 10000:
              ^
SyntaxError: invalid syntax

在Python开始运行脚本之前,您必须更正此语法错误。

Python实际上不是逐行运行脚本,而是先将整个脚本编译为虚拟机表示,然后再运行任何脚本。因为您的脚本包含语法错误(在
else amount…
部分中),所以Python应该在您尝试运行它时向您指出这一点。以下是我在运行脚本时得到的信息:

$ python test.py
  File "test.py", line 9
    else amount >= 10000:
              ^
SyntaxError: invalid syntax

在Python开始运行脚本之前,您必须更正此语法错误。

它会做什么?还有,这是Python 2还是Python 3?在Python2中,您可能希望使用
raw_input
而不是
input
。从print语句判断,这是Python2。这是Python2,但他确实需要input(),因为在Python2中,input类似于Python3中的eval(input())。所以这是一种让他得到一个数字而不是一个字符串的方法,它的作用是什么?还有,这是Python 2还是Python 3?在Python2中,您可能希望使用
raw_input
而不是
input
。从print语句判断,这是Python2。这是Python2,但他确实需要input(),因为在Python2中,input类似于Python3中的eval(input())。因此,这是他获取数字的一种方式,而不是字符串谢谢,当我将其发布到这里以将其放入stackoverflow上的灰色“代码”框时,使用了“谢谢”。@user1198611:若要获取“代码”框,请将所有代码缩进4个空格。在编辑器中选择它,然后按Ctrl+K或
{}
工具栏按钮。谢谢,当我将其发布到这里,将其放入stackoverflow上的灰色“代码”框中时,会生成“代码”。@user1198611:若要获取“代码”框,请将所有代码缩进4个空格。在编辑器中选择它,然后按Ctrl+K或
{}
工具栏按钮。谢谢,愚蠢的错误。我仍然想知道为什么它一直到那一行,而不是立即运行第1行?@user1198611 From:“在非交互模式下,整个输入在执行之前都会被解析。”它没有到达那一行,解析失败,你的程序从未执行过。总是,总是,始终向StackOverflow提供错误消息。谢谢,愚蠢的错误。我仍然想知道为什么它一直到那一行,而不是立即运行第1行?@user1198611 From:“在非交互模式下,整个输入在执行之前都会被解析。”它没有到达那一行,解析失败,你的程序从未执行过。总是,总是,始终向StackOverflow提供错误消息。是的,您完全正确。谢谢你的帮助是的,你说得很对。谢谢你的帮助