我在做什么错呢?

时间:2019-10-09 01:41:59

标签: python

首先,我在编程和在大学里开始我的课程方面还很陌生,我仍在努力掌握它,请保持友好。 //我正在做作业,这是关于计算2050年我的年龄的事情,我已经按照说明进行操作,并且在print(“ I will be”)行中遇到语法错误,任何人都可以告诉我我为什么以及我在做什么错?

YEAR = "2050"
myCurrentAge = "18"
currentYear = "2019"
print("myCurrentAge is" + str(myCurrentAge)   
myNewAge = myCurrentAge + (YEAR - currentYear)
print("I will be" + str(myNewAge) + "in YEAR.")
stop

2 个答案:

答案 0 :(得分:1)

首先,正如 @ObsidianAge 所指出的那样,您的print("myCurrentAge is" + str(myCurrentAge)行缺少第二个结束括号,它应该像这样print("myCurrentAge is" + str(myCurrentAge))

接下来是您正在谈论的错误。您在这里myNewAge = myCurrentAge + (YEAR - currentYear)计算了一堆字符串变量。您需要先将变量解析为int,例如:

myNewAge = int(myCurrentAge) + (int(YEAR) - int(currentYear))
#then print,
print("I will be " + str(myNewAge) + " in YEAR" + YEAR)

为解决注释中的混乱,我看到您正在遵循this answer的建议,因此这里是完整的代码:

# int variables
YEAR = 2050
myCurrentAge = 18
currentYear = 2019
# printing current age
print( "myCurrentAge is " + str(myCurrentAge))
# computing new age, no need to parse them to int since they already are
myNewAge = myCurrentAge + (YEAR - currentYear)
# then printing, parsing your then int vars to str to match the entire string line
print("I will be " + str(myNewAge) + " in YEAR " + str(YEAR))

答案 1 :(得分:0)

此外,在修复@ObsidianAge提到的方括号后,您将必须修复另一件事。

由于您已经在双引号中声明了它们,所以您现在所有的变量都是字符串。为了能够完成您打算做的事情,您需要将它们转换为整数。

我建议一开始就通过删除引号为它们分配整数值。使用您当前的代码,当您使用+运算符时,它只会将所有变量字符串连接在一起。因此,您的新声明将如下所示:

YEAR = 2050
myCurrentAge = 18
currentYear = 2019