我的语法有什么问题?我一直在尝试,但仍然被卡住

时间:2019-09-18 06:30:26

标签: python jupyter-notebook operator-keyword

[我的语法有什么问题?我一直在尝试,但仍然被卡住] [1]

a = input("maskkan niulai a: ")
b = input("maskkan niulai b: ")
c = a + b
print('hasil %d + %d = %d' % (a,b,c))

5 个答案:

答案 0 :(得分:3)

您需要先转换为整数数据类型,否则它将被视为字符串。

a = int(input("maskkan niulai a: "))
b = int(input("maskkan niulai b: "))
c = a + b
print('hasil %d + %d = %d' % (a,b,c))

这将起作用!

答案 1 :(得分:1)

如果您想添加两个数字,我建议您将输入强制转换为int

a = int(input("masskan niulai a: ")
b = int(input("masskan niulai b: ")
c = a + b

python3还允许在字符串上使用.format()方法,这更加方便和灵活

print("hasil {0} + {1} = {2}".format(a,b,c))

在这里,花括号中的数字可用于将特定变量放置在特定位置,而不管我们将其传递给format函数的顺序如何。它们在格式函数中指定变量的索引。

答案 2 :(得分:0)

您尝试格式化print函数结果而不是第4行的字符串

print('your string')%(your variables)

应该是

 print('your string'%(your variables))

要使代码更具可读性,可以使用format function或事件f-string

答案 3 :(得分:0)

这是解决方案

a = input("maskkan niulai a: ")
b = input("maskkan niulai b: ")
c = float(a) + float(b)
print('hasil %d + %d = %d' % (a,b,c))

答案 4 :(得分:0)

问题是您正在获取str类型的输入,但是在最终的打印语句中,您将放置int类型的值(代码%d)。

因此,选项1 是在最后一个打印语句(代码string)中使用%s格式:

a = input("masukan niulai a: ")
b = input("masukan niulai b: ")
c = a + b
print("hasil %s + %s = %s" % (a, b, c))

选项2 是从一开始就将输入值转换为int格式:

a = int(input("masukan niulai a: "))
b = int(input("masukan niulai b: "))
c = a + b
print("sum of %d + %d = %d" % (a, b, c))

要考虑的最后一个打印语句的其他选项是:

print("hasil {0} + {1} = {2}".format(a, b, c))

或者这个:

print(f"hasil {a} + {b} = {c}")

要阅读的更多信息:https://docs.python.org/3/library/string.html