0

这会是什么输出?我看到了输出,但无法理解为什么会发生这种情况。

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)
4

4 回答 4

4

在您的代码中,第一种方式,末尾的实际上是包含用户输入的 a。当您调用该函数时,您实际上所做的是将元组乘以一个整数,这只是将元组 ( )乘以。raw_inputxtuplexy

例如:

>>> x = 2,
>>> x * 5
(2, 2, 2, 2, 2)
>>> x = 2
>>> x * 5
10
于 2013-02-17T03:50:31.327 回答
2

逗号x等于大小为 1 的元组(包含 int)。

简单测试:

>>> a = 1,
>>> print a
(1,)
于 2013-02-17T03:50:04.887 回答
2

一个很大的错误是,如果 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 语句.

这可确保输入是小数点数字,而不是字符。

于 2013-02-17T03:59:09.570 回答
0

首先,您定义一个名为的函数,它将和(的参数)multiple相乘,然后返回该值。然后它接受两个不同变量的输入,并且(与上面的参数不同),相乘(通过调用),然后将它们输出,这就是您所看到的输出。xymultiplexymultipleprint

然而,逗号只是简单地定义x为一个元组。

于 2013-02-17T03:49:50.940 回答