首先,我在编程和在大学里开始我的课程方面还很陌生,我仍在努力掌握它,请保持友好。 //我正在做作业,这是关于计算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
答案 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