ZyBooks实验6.12.1:如何将平均值格式化为整数输出?
解决平均值输出为整数的问题
问题根源在于Python3中使用/做除法时,无论是否能整除都会返回浮点数类型,所以会出现10.0这类输出。以下是三种实用的处理方案:
- 整数除法(向下取整)
用//运算符替代/,它会直接返回整数结果,自动丢弃小数部分:
user_input = input() numbers = [] for i in user_input.split(): numbers.append(int(i)) print(sum(numbers) // len(numbers), max(numbers))
- 强制类型转换
将除法结果通过int()函数转换为整数类型,同样会截断小数部分:
user_input = input() numbers = [] for i in user_input.split(): numbers.append(int(i)) print(int(sum(numbers)/len(numbers)), max(numbers))
- 格式化输出(支持四舍五入)
使用格式化字符串控制小数位数,适合需要四舍五入保留整数的场景:
user_input = input() numbers = [] for i in user_input.split(): numbers.append(int(i)) print(f"{sum(numbers)/len(numbers):.0f}", max(numbers))
以上三种方案都能让你输入15 20 0 5时得到10 20的期望输出。
内容的提问来源于stack exchange,提问作者Cheryl8300
相关产品推荐
相关产品推荐

