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

a.代码跑不起来

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

c.谢谢大佬!

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

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('结束')

 

 可以简化成:

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('结束')

 

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

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('退出 ')

把第五行改一下试试:

if 0<=xmyw<=100 and 0<=xmsx<=100 and 0<=xmyy<=100:

 

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,"语文");