day3.有没有大佬能帮我看看为什么我的代码传一个参数的时候不行哇
Topic source你输单个参数的时候,eval函数时把nums的值转成int类型而不是tuple,所以会报参数类型错误。而且你代码还有个问题,如果你要结束循环也会报错。
我的想到的解决方法是(我觉得这解决办法太蠢了):新建一个变量来接收input的值,然后把if语句提到eval前面,最后加个else把接收input的值的变量给拼上一个“,”
谢谢你,我想问怎么拼上一个“,”,我不知道具体怎么实现这步,我另外想了一个是在else里面再判断如果是一个长度就int转换直接输出,另外的就调用自定义函数计算输出(我觉得这办法更加蠢qwq)。
while 1:
i = input("请输入你要计算的数:")
if i == 'exit':
break
else:
i = i+','
nums = eval(i)
print('计算的乘积为:', product(*nums))
- 1
小太郎tail
def product(*nums):
sum=1
for i in nums:
sum=sum*i
return sum
while 1:
nums=eval(input("请输入你要计算的数:"))
print('计算的乘积为:',product(*nums))
if nums=='exit':
break