嗨,我正在努力完成这一周的任务,我是python 3中的初学者编码器,并且分配是从文件中获取数字作为击球平均值然后找到平均值。问题是每当我到达读取文件的时候,文件的部分是str我理解并希望将它们更改为int但是它不起作用我想知道是否有修复或方法绕过它
def main(filename = 'bats.txt'):
hits = 0
bats = 0
app = 0
bases = 0
for line in open(filename, 'r'):
contents = int(line.strip()) #does the placement of int here not work?
if contents > 4:
playerNum = contents
print(playerNum)
elif contents <= 4 and contents >= 1:
hits += 1
elif contents <= 4 and contents >= 0:
bats += 1
print(bats)
elif contents <= 4 and contents >= -1:
app += 1
else:
bases += 1
作业正在进行中,我完全被这部分困扰,因为它不会让我继续。感谢能帮助我的人。
答案 0 :(得分:0)
在转换验证之前是否可以将字符串转换为int。您可以使用正则表达式来执行此操作。
始终捕获异常(因为我们不确定来自文件的值)这将确保程序执行并提供良好的用户体验
try:
int(line)
except ValueError:
print "Not a float"