Python如何统计并打印用户输入序列中的正数总个数
解决方案
你尝试获取post长度报错的原因是:post是单次循环遍历得到的单个浮点数值,不属于序列类型,没有长度属性,无法用len()方法取值。
实现正数统计的方法很简单:新增一个计数变量,初始值设为0,每次判断当前数值为正数时,给计数变量加1,遍历完成后直接打印计数变量即可得到正数总个数。
仅统计正数个数的代码
count = 0 num = map(float, input().split()) for post in num: if post > 0: count += 1 print(count)
输入示例2 -4 3.6 1时,输出结果为3,符合预期。
同时保留打印所有正数、统计个数的代码
count = 0 num = map(float, input().split()) for post in num: if post > 0: print(int(post)) count += 1 print("正数总个数:", count)
输入示例2 -4 3.6 1时,输出结果为:
2 3 1 正数总个数: 3
注意事项
map()返回的是迭代器对象,只能遍历一次,不要分开两次遍历分别执行打印单个正数、统计数量的操作,第二次遍历会取不到任何值,所有相关逻辑要放在同一次遍历中完成。
内容的提问来源于stack exchange,提问作者user91919
相关产品推荐
相关产品推荐

