繁体   English   中英

raw_input函数中的逗号

[英]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的函数,该函数将xymultiple参数)相乘,然后返回该值。 然后,它接受两个不同变量xy (与上面的参数不同),相乘(通过调用multiple ),然后将它们print出来,这就是您所看到的结果。

但是,逗号仅将x定义为元组。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM