步进计数器,无法获得与投影输出匹配的输出



steps.txt文件包含一个人一年中每天走的步数。文件中有365行,每行都包含一天中执行的步骤数。(第一行是1月1日采取的步骤数,第二行是1月份2日采取的步数,依此类推。(编写一个读取文件的程序,然后显示每个月采取的平均步骤数。(数据来自非闰年,因此二月有28天。

样本运行中的一个月不正确

您的程序应该处理以下异常:

  • 它应该处理打开文件并从中读取数据时引发的任何IOError异常
  • 它应该处理从文件中读取的项转换为数字时引发的任何ValueError异常

使用以下命令下载文件:

cp $PUB/steps.txt .

样品运行:

The average steps taken in January was 5,246.1
The average steps taken in February was 4,851.9
The average steps taken in March was 5,777.6
The average steps taken in April was 5,802.1
The average steps taken in May was 4,711.5
The average steps taken in June was 4,792.3
The average steps taken in July was 5,638.2
The average steps taken in August was 5,759.6
The average steps taken in September was 6,114.6
The average steps taken in October was 5,411.0
The average steps taken in November was 4,268.8
The average steps taken in December was 5,138.1
def main():
try:
step_count = open('steps.txt', 'r')
content = step_count.read()

except IOError:
print('An error has occured trying to read file,')

def steps(file, num):
for count in range(1, num, 1):
step = str(step_count.readline())
total_steps = 0
total_steps = str(total_steps) + (step)
average = int(total_steps) / num
format_average = "{:.2f}".format(average)
return format_average


print('The average steps taken in January was', steps(step_count, 31))
print('The average steps taken in Febuary was', steps(step_count, 28))
print('The average steps taken in March was', steps(step_count, 31))
print('The average steps taken in April was', steps(step_count, 30))
print('The average steps taken in May was', steps(step_count, 31))
print('The average steps taken in June was', steps(step_count, 30))
print('The average steps taken in July was', steps(step_count, 31))
print('The average steps taken in August was', steps(step_count, 30))
print('The average steps taken in September was', steps(step_count, 31))
print('The average steps taken in October was', steps(step_count, 30))
print('The average steps taken in November was', steps(step_count, 31))
print('The average steps taken in December was', steps(step_count, 30))

step_count.close()
main()

这是输出

The average steps taken in January was 0.00
The average steps taken in Febuary was 0.00
The average steps taken in March was 0.00
The average steps taken in April was 0.00
The average steps taken in May was 0.00
The average steps taken in June was 0.00
The average steps taken in July was 0.00
The average steps taken in August was 0.00
The average steps taken in September was 0.00
The average steps taken in October was 0.00
The average steps taken in November was 0.00
The average steps taken in December was 0.00

不知道如何让它给我正确的输出


def steps(max_day):
step_count = open('steps.txt', 'r')
total_steps = 0.0
for line in step_count:
step = float(line)
total_steps = (total_steps) + (step)
average = (total_steps) / max_day
format_average = "{:.2f}".format(average)
return format_average

step_count.close()

我想出了这个,但它仍然没有给我权利来

The average steps taken in January was 62089.87
The average steps taken in Febuary was 68742.36
The average steps taken in March was 62089.87
The average steps taken in April was 64159.53
The average steps taken in May was 62089.87
The average steps taken in June was 64159.53
The average steps taken in July was 62089.87
The average steps taken in August was 64159.53
The average steps taken in September was 62089.87
The average steps taken in October was 64159.53
The average steps taken in November was 62089.87
The average steps taken in December was 64159.53
def steps(max_days):
total_steps = 0.0
for count in range(max_days):
step = float(step_count.readline())
total_steps = total_steps + step
average = total_steps / max_days
format_average = "{:.2f}".format(average)
return format_average

最新更新