初学者需要一些帮助
我的代码如下。我试图让整数打印在同一行。我正在从名为“numbers.txt”的文本文件中读取它们。任何帮助将不胜感激。
def main():
num_file = open('numbers.txt', 'r')
for num in (num_file):
print(num, end='')
num_file.close()
print('End of file')
main()
这是我目前的输出:
答案 0 :(得分:1)
如同您使用for num in (num_file)
一样逐行阅读文件时,行尾字符不会被剥离,并且包含在每行中并存储在变量num
中。这就是为什么即使您设置end=''
,数字也会继续在单独的行上打印。
除了设置rstrip
之外,您还可以使用end=''
删除换行符。此外,您的for循环中num_file
周围的括号不是必需的。
def main():
num_file = open('numbers.txt', 'r')
for num in num_file:
print(num.rstrip('\n'), end='')
num_file.close()
print('End of file')
main()
总结找到的数字:
def main():
num_file = open('numbers.txt', 'r')
total = 0
for num in num_file:
print(num.rstrip('\n'), end='')
try:
total = total + int(num)
except ValueError as e:
# Catch errors if file contains a line with non number
pass
num_file.close()
print('\nSum: {0}'.format(total))
print('End of file')
main()