这会是什么输出?我看到了输出,但无法理解为什么会发生这种情况。
def multiple(x,y):
mul = x*y
return mul
x=int(raw_input("Enter value 1 ")),
y=int(raw_input("Enter value 2 "))
print multiple(x,y)
这会是什么输出?我看到了输出,但无法理解为什么会发生这种情况。
def multiple(x,y):
mul = x*y
return mul
x=int(raw_input("Enter value 1 ")),
y=int(raw_input("Enter value 2 "))
print multiple(x,y)
在您的代码中,第一种方式,
末尾的实际上是包含用户输入的 a。当您调用该函数时,您实际上所做的是将元组乘以一个整数,这只是将元组 ( )乘以。raw_input
x
tuple
x
y
例如:
>>> x = 2,
>>> x * 5
(2, 2, 2, 2, 2)
>>> x = 2
>>> x * 5
10
逗号x
等于大小为 1 的元组(包含 int)。
简单测试:
>>> a = 1,
>>> print a
(1,)
一个很大的错误是,如果 x 和 y 不是数字(也就是字符串),那么函数就会被搞砸。这可以通过说来解决:
try:
mul = float(x) * float(y)
那么,要捕获 x 或 y 不是数字的情况,
except TypeError:
print('Please do not give a string...')
在这种情况下,你想证明 mul 无效,所以你说,
mul = None
现在你可以return mul
符合 try 和 except 语句.
这可确保输入是小数点数字,而不是字符。
首先,您定义一个名为的函数,它将和(的参数)multiple
相乘,然后返回该值。然后它接受两个不同变量的输入,并且(与上面的参数不同),相乘(通过调用),然后将它们输出,这就是您所看到的输出。x
y
multiple
x
y
multiple
print
然而,逗号只是简单地定义x
为一个元组。