我一直在做一些python(使用spyder)并且全新来完成所有这些,我很困惑。我的朋友输入了这段代码:
elif x== '3' :
number = input('Enter an integer \n')
try:
the sum = int(float(number)+(float(10))
print(number + 'plus 10 equals'+ the sum)
当我输入完全相同的东西,同样的缩进和所有内容时,它适用于她,但不适用于我。旁边有一个十字架(代码分析)出现在以“总和”开头的行上。显然,语法无效。感谢。
答案 0 :(得分:0)
让我们逐行看看..
elif x== '3' :
应该是:
if x == '3':
您应该使用if
而非elif
的语句开始。另外,请确保代码中的x
前面有一个值。
如果你是全新的,我会再等一会儿来添加try:
个陈述。但我会在最终答案中加入它。
the sum = int(float(number)+(float(10))
应该是:
the_sum = float(number) + 10
如果您希望float
有小数,请使用number
。根据您提供的信息,无需将float
转换回int
,这是您拨打int(float(...
请注意,变量名中的空格不是有效语法。添加下划线可使the_sum
有效。
print(number + 'plus 10 equals'+ the sum)
Python2和Python3有不同的格式输出选项。更多信息here。我将使用Python2,所以你的代码应该是:
print ('%f plus 10 equals %f' % (number, the_sum))
%f
表示将变量格式化为float。第一个%f
将替换为number
,第二个the_sum
将替换为if x == '3':
number = input('Enter an integer \n')
try:
the_sum = float(number) + 10
print ('%f plus 10 equals %f' % (number, the_sum))
except:
pass
。
你们共同拥有:
try:
加分:输入字符时脚本是否会中断?你怎么能用render()
语句改进?