倾城~夜微凉
2021-06-08 10:53
采纳率: 100%
浏览 48

有大佬帮我改改代码吗,纯萌新

a.代码跑不起来

b.以萌新的角度简化一下

c.谢谢大佬!

  • 收藏

6条回答 默认 最新

  • CSDN专家-sinjack 2021-06-08 10:58
    已采纳

    代码贴出来吧,可以抽离一下代码。

    已采纳该答案
    打赏 评论
  • CSDN专家-kaily 2021-06-08 11:09
    xmyw = int(input('小明语文成绩:'))
    xmsx = int(input('小明数学成绩:'))
    xmyy = int(input('小明英语成绩:'))
    if 100>=xmyw>=0 and 100>=xmsx>=0 and 100>=xmyy>=0:
        if xmyw >= 90:
            print('小明语文成绩为:%d 评级为[A]'% xmyw)
        elif 90>xmyw>=60:
            print('小明语文成绩为:%d 评级为[B]'% xmyw)
        else:
            print('小明语文成绩为:%d 评级为[C]'% xmyw)
        
        if xmsx >= 90:
            print('小明数学成绩为:%d 评级为[A]'% xmsx)
        elif 90>xmsx>=60:
            print('小明数学成绩为:%d 评级为[B]'% xmsx)
        else:
            print('小明数学成绩为:%d 评级为[C]'% xmsx)  
            
        if xmyy >= 90:
            print('小明英语成绩为:%d 评级为[A]'% xmyy)
        elif 90>xmyy>=60:
            print('小明英语成绩为:%d 评级为[B]'% xmyy)
        else:
            print('小明英语成绩为:%d 评级为[C]'% xmyy)  
    else:
        print('结束')
    打赏 评论
  • CSDN专家-kaily 2021-06-08 11:20

     可以简化成:

    xmyw = int(input('小明语文成绩:'))
    xmsx = int(input('小明数学成绩:'))
    xmyy = int(input('小明英语成绩:'))
    xm = [xmyw, xmsx, xmyy]
    xk = ['语文', '数学', '英语']
    if 100>=xmyw>=0 and 100>=xmsx>=0 and 100>=xmyy>=0:
        for i in range(len(xm)):
            if xm[i] >= 90:
                print('小明%s成绩为:%d 评级为[A]'% (xk[i], xm[i]))
            elif 90>xm[i]>=60:
                print('小明%s成绩为:%d 评级为[B]'% (xk[i], xm[i]))
            else:
                print('小明%s成绩为:%d 评级为[C]'% (xk[i], xm[i]))
    else:
        print('结束')
    打赏 评论
  • CSDN专家-HGJ 2021-06-08 11:38

    代码重复部分太多,用以下代码较为简洁。

    def degree(x):
        if x>=90:
            return 'A'
        elif 60<=x<90:
            return 'B'
        elif x<60:
            return 'C'
    
    
    xmyw = int(input('小明语文成绩:'))
    xmsx = int(input('小明数学成绩:'))
    xmyy = int(input('小明英语成绩:'))
    lst=[xmyw,xmsx,xmyy]
    if all(x>=0 for x in lst) and all(x<=100 for x in lst):
        print(f'小明语文成绩为:评级为[{degree(xmyw)}],{xmyw}')
        print(f'小明数学成绩为:评级为[{degree(xmsx)}],{xmsx}')
        print(f'小明英语成绩为:评级为[{degree(xmyy)}],{xmyy}')
    else:
        print('退出 ')
    
    打赏 评论
  • m0_59109952 2021-06-08 11:02

    把第五行改一下试试:

    if 0<=xmyw<=100 and 0<=xmsx<=100 and 0<=xmyy<=100:
    打赏 评论
  • 浪客 2021-06-08 11:36
    void fun(int chengji, char* kemu)
    {
        if(chengji >100 || chengji <0)
        {
            printf("成绩输入错误!");
            return;
        }
        
        char dengji;
        if(chengji >=90)
            dengji='A';
        else if(chengji >=60)
            dengji='B';
        else
            dengji='C';
        
        printf("小明的%s成绩为%d /评级为[%c]",kemu,chengji,dengji);    
    }
    
    
    调用:fun(95,"语文");
    打赏 评论

相关推荐 更多相似问题