如何将变量转换为float类型?Python代码求和结果为整数如何转浮点输出?
解决方法
你现在求和结果是整数格式,原因有两个:
- 输入的数字被转成
int整数类型存入列表,累加过程都是整数运算 - 求和变量
sum_num初始值为0,属于整数类型,最终运算结果也默认保留整数类型
你可以任选以下两种修改方案:
方案1:最小改动,仅调整求和变量初始化
把sum_num = 0改成sum_num = 0.0即可,浮点类型的初始值会让后续累加的结果自动转为浮点类型,修改后完整代码如下:
numbers = [] while(True): num = input("Enter a number or press Enter to stop :") if num: numbers.append(int(num)) elif(num == ''): break sum_num = 0.0 for num in numbers: sum_num += num avg = sum_num / len(numbers) print("The sum is",sum_num) print("The average is", avg)
运行后输出示例:
The sum is 6.0 The average is 2.0
方案2:支持小数输入,直接存储浮点类型数值
如果后续需要支持用户输入小数,你可以把存入列表的类型从int改成float,修改后完整代码如下:
numbers = [] while(True): num = input("Enter a number or press Enter to stop :") if num: numbers.append(float(num)) elif(num == ''): break sum_num = 0 for num in numbers: sum_num += num avg = sum_num / len(numbers) print("The sum is",sum_num) print("The average is", avg)
这个方案不管用户输入整数还是小数,最终求和结果都会是浮点格式。
内容的提问来源于stack exchange,提问作者JSEB
相关产品推荐
相关产品推荐

