南希00 2021-06-28 11:55 采纳率: 78.3%
浏览 502
已采纳

Python的代码纠正

1)本题要求编写程序,计算序列 1!+2!+3!+⋯ 的前N项之和。

输入格式:

输入在一行中给出一个不超过12的正整数N。

输出格式:

在一行中输出整数结果。

输入样例:

5

输出样例:

153

1)
n=int(input())
a=1
for i in range(1,n+1):
    a=a*i
print(a)

2)本题要求编写程序读入N个学生的百分制成绩,统计五分制成绩的分布。百分制成绩到五分制成绩的转换规则:

大于等于90分为A;

小于90且大于等于80为B;

小于80且大于等于70为C;

小于70且大于等于60为D;

小于60为E。

输入格式:

输入在第一行中给出一个正整数N(≤1000),即学生人数;第二行中给出N个学生的百分制成绩,其间以空格分隔。

 

输出格式:

在一行中输出A、B、C、D、E对应的五分制成绩的人数分布,数字间以空格分隔,行末不得有多余空格。

 

输入样例:

7

77 54 92 73 60 65 69

输出样例:

1 0 2 3 1

2)
n=int(input())
score=input().split()

count=0
if score>90:
    count+=1
elif score<90 and score>=80:
    count+=1
elif score<80 and score>=70:
    count+=1
elif score<70 and score>=60:
    count+=1
elif score<60:
    count+=1

3.用水量文件"water.txt"的第一列为账号,下面是每个月的用水量(后一个数-前一个数),共十二个月。每立方米需付1.05元。编程计算每户一年的水费。

0000359333 772 789 806 847 880 901 950 991 1022 1043 1064 1089 1114

0000359305 121 132 145 156 168 179 192 206 219 230 246 258 273

0000359708 1008 1046 1102 1167 1209 1255 1311 1362 1407 1453 1512 1563 1604

0000359504 541 567 590 622 651 689 701 732 758 775 796 814 847

0000359209 401 412 441 466 479 490 508 522 541 572 603 637 666。


3)
score=open('water.txt','r')

for i in score.readlines():
    i=i[:-1]
    i=i.split()
    pay=float('%.2f'%((int(i[-1])-int(i[1]))*1.05)) #将水费保留前2位
    print('{}:{:.2f}'.format(i[0],pay))

score.close()

 

 

  • 写回答

3条回答 默认 最新

  • 关注

    第一题你求的是n的阶乘,忘了每次循环用一个变量来记录

    
    n=int(input())
    a=1
    s=0
    for i in range(1,n+1):
        a=a*i
        s+=a
    print(s)
    

    第二题:

    n1=0
    n2=0
    n3=0
    n4=0
    n5=0
    n=int(input())
    s=input()
    s=list(s)
    i=0
    while 1:
        if s[i]=='9':
            n1+=1
        elif s[i]=='8':
            n2+=1
        elif s[i]=='7':
            n3+=1
        elif s[i]=='6':
            n4+=1
        else :
            n5+=1
        i+=3
        if i>=len(s):
            break
    print(n1,end=" ")
    print(n2,end=" ")
    print(n3,end=" ")
    print(n4,end=" ")
    print(n5,end=" ")

     

    3:

    score = open('water.txt', 'r')
    
    for i in score.readlines():
        i = i[:-1]
        i = i.split()
        sum=0
        for j in range(len(i)):
            if j!=0:
                sum+=int(i[j])
        pay=float('%.2f' %(sum*1.05))
        print('{}:{:.2f}'.format(i[0], pay))
    
    score.close()
    

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 关于大棚监测的pcb板设计
  • ¥15 stm32开发clion时遇到的编译问题
  • ¥15 lna设计 源简并电感型共源放大器
  • ¥15 如何用Labview在myRIO上做LCD显示?(语言-开发语言)
  • ¥15 Vue3地图和异步函数使用