def multiply():
number_1 = int (input ("Please insert the first number for multiplication:"))
number_2 = int (input ("Please insert the second number for multiplication:"))
result = str (number_1*number_2)
return print (number_1*number_2=result)
multiply()
尝试执行以下功能时出现以下错误。
return print (number_1*number_2=result)
^
SyntaxError: keyword can't be an expression
答案 0 :(得分:3)
您正在使用=
定义关键字参数:
...(number_1*number_2=result)
^
这使之前的所有 =
成为Python表达式,即number_1 * number_2
。 Python不允许这样做。
如果你想打印出格式很好的表达式,你必须使用单独的字符串参数:
print(number_1, '*', number_2, '=', result)
Python用空格分隔出单独的参数来分隔它们(但你可以使用sep='...'
设置一个不同的字符串来分隔它们,包括 empty 字符串,根本没有分离)。
请注意,您实际上不必将result
转换为字符串,print()
函数会将所有参数转换为字符串,然后再将其写入控制台。
您还可以了解Python string formatting,它可以让您更好地控制空白处理,以及对齐结束值格式化。例如。
以下内容将打印出您的数字和结果,作为格式字符串的一部分,空格数量相同:
print('{} * {} = {}'.format(number_1, number_2, result))
然后,每个{}
占位符都会填入您传递到str.format()
method的下一个参数。如果您愿意,也可以在这里删除空格。
最后但并非最不重要的是,print()
函数始终返回None
。您不必从功能中返回该功能,请删除return
。您对multiply
函数的实际使用无论如何都不会使用返回的值:
def multiply():
number_1 = int(input("Please insert the first number for multiplication:"))
number_2 = int(input("Please insert the second number for multiplication:"))
result = number_1 * number_2
print(number_1, '*', number_2, '=', result)
multiply()
答案 1 :(得分:0)
为什么我会收到此语法错误:关键字无法成为表达式
因为你在函数名称(包括python3中的print
)之后在括号中写的是函数的参数。以keyword=value
形式写的任何参数都是keyword argument。您不能将表达式(此处为产品)用作关键字。
答案 2 :(得分:0)
我假设您想要输出
number_1*number2 = 6
这部分的第一部分是您想要打印的一些固定文本。因此,您需要输入一个字符串并打印出来。您可以打印多个内容,例如print(a, b)
。这应该足以让你弄清楚
答案 3 :(得分:0)
您有两个问题:
您正在print语句中编写表达式。相反,您想要创建格式化的字符串并将值替换为字符串:
print("%d*%d=%s" % (number_1, number_2, result))
其次,你不需要退货。