python - 编写一个程序,计算文件中存储的所有数字的平均值
问题描述
'''
Average Number
'''
def main ():
import sys
try:
NumberTxt = open("numbers.txt", "r")
except IOError as e:
print ("Non-numeric data found in the file /n press enter" )
except (ValueError):
print( "Non-numberic data found in the file /n press enter")
else:
TotalNumber = 0
NumbersOfLines = 0
line = NumberTxt.readline()
while line !="":
NumbersOfLines += 1
TotalNumber += int( line )
line = NumberTxt.readline()
averageNumbers = TotalNumber / NumbersOfLines
print ( "The average is:", averageNumbers)
print ( "press enter" )
main()
解决方案
如果信息不完整,最可能的原因是因为您从文件中读取的行末尾仍然有换行符,最后一行只是换行符\n
,所以while
仍然是正确的,但随后int("\n")
失败。因此,要修复更改这两行:
line = NumberTxt.readline().strip() # Strip leading and trailing spaces and newlines
while line: # Not strictly necessary, but more Pythonic to test this way
推荐阅读
- java - 从不同的包(Java)导入嵌套在另一个类中的枚举
- reactjs - How to merge the previous state with the new state in redux?
- snowflake-cloud-data-platform - 雪花变量数据类型
- php - 如何在 Laravel 5.4 中使用 mail() 函数?
- android - 更新到 Catalina mac os 后,ADB 和 Xcode 未检测到连接的设备
- angular - 如何以角度设置组件的属性
- spring - 无法访问 spring-cloud-dataflow HTTP(source) 应用程序
- python - 使用flask_restful 的reqparse,你能忽略不包含在params 或json 中的值吗?
- c++ - 是否有可选的变体
与 T* const 的行为一致? - xml - 当 maven-shade-plugin 最小化 jar 时,如何包含 log4j.xml 中的类?