[英]comma in raw_input function
这将是什么输出? 我看到了输出,但无法理解为什么会发生。
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)
在代码中,所述,
在第一的端部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...')
时的情况except TypeError: print('Please do not give a string...')
在这种情况下,您想表明mul无效,因此,您说mul = None
现在您可以按照try和except语句return mul
。
这样可以确保输入的是小数点数字,而不是字符。
首先,您定义了一个称为multiple
的函数,该函数将x
和y
( multiple
参数)相乘,然后返回该值。 然后,它接受两个不同变量x
和y
(与上面的参数不同),相乘(通过调用multiple
),然后将它们print
出来,这就是您所看到的结果。
但是,逗号仅将x
定义为元组。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.