使用打印意外输出

时间:2019-11-02 14:28:07

标签: python python-3.x

我正在使用Python 3.6.8。在Ubuntu Linux 18.04上

我已经开始使用简单的打印语句教程。该代码会问一个需要输入的问题,然后输出答案。

我重复了代码的最后一行,因为它说明了问题

#!/bin/python3

born = input('What year were you born?')
born = int(born)
age = 2025 - born
print(age)
print('In the year 2025 you will be', age, 'years old')
print 'In the year 2025 you will be', age, 'years old'

我希望第一个打印语句的结果是: 在2025年,您将75岁

第二个应该给出语法错误(因为它是Python 3,没有括号)

我得到的是这个

(“到2025年您将年满75岁”) 在2025年,您将75岁

哪里出问题了?

2 个答案:

答案 0 :(得分:1)

运行pythonpython3 --version并查看安装的内容,您的脚本可以在任何版本上运行。
带括号的打印在 3 + 上有效,而没有括号的打印在 2 上有效。

答案 1 :(得分:0)

查看所有建议即可找到答案。我不知道python2和python3都存在于机器上。明确运行python2不会导致任何错误。明确运行python3会导致预期的语法错误。

alex@Desktop:~/Python$ python3 -V
Python 3.6.8
alex@Desktop:~/Python$ python -V
Python 2.7.15+
alex@Desktop:~/Python$ python test.py
What year were you born?1972
53
('In the year 2025 you will be', 53, 'years old')
In the year 2025 you will be 53 years old
alex@Desktop:~/Python$ python3 test.py
  File "test.py", line 12
    print 'In the year 2025 you will be', age, 'years old'
                                       ^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print('In the year 2025 you will be', age, 'years old')?

感谢所有受访者的帮助