Python编写程序 输入提示“请输入成绩(按回车键退出):”,将输入的百分...
发布网友
发布时间:2022-04-27 06:30
我来回答
共2个回答
热心网友
时间:2022-04-07 12:42
编码思路:
申明两个变量: 成绩cj为 浮点数float 且 取值范围为 [0,100] 闭区间内; pf为字符类型,接收最终分数评级的字母A,B,C,D,E中的一个。
引导用户输入100分制的分数,并用cj接收。
判断分数是否为一个有效的分数。在不在 [0,100] 区间内,若不在则提示“成绩无效”。
在成绩有效的情况下,利用if...esle if...else...逐级判断,分数大于90的评为A,不大于90(在前一判断后else即取反)的但是又大于80的评为B,以此类推,分别判断出分数评级C,D,E。将字符赋值给字符变量pf;
最后输出分数评级。
代码示例:
//代码语言:C++#include <iostream>int main(int argc, const char * argv[]) { float cj; //成绩100分制 char pf; //评分A,B,C,D,E std::cout<<"输入您的分数: "; std::cin>>cj; //输入的分数赋值给cj if(cj>100 || cj<0){ //分数小于0或大于100时成绩无效 std::cout<<"您的成绩无效!\n"; }else{ //成绩有效时 即:[0,100] if(cj>90){ //大于90即:(90,100] pf = 'A'; }else if(cj>=80){ //即:[80,90] pf = 'B'; }else if(cj>=70){ //即:[70,80) pf = 'C'; }else if(cj>=60){ //即:[60,70) pf = 'D'; }else{ //否则(不大于60) 即:[0,60) pf = 'E'; } std::cout<<"您的分数评级为:"<<pf<<"\n"; //输出结果 } return 0;}
热心网友
时间:2022-04-07 14:00
score = int(input("请输入成绩(按回车键退出):"))
if score >= 90:
grade = 'A'
elif score >=80:
grade = 'B'
elif score >=70:
grade = 'C'
elif score >=60:
grade = 'D'
else:
grade = 'E'
print('%d 属于 %s',%(score,grade))追问抱歉题目未打清楚,如果是原始的题目: 将输入的百分制成绩转换为相应的等级,规则是:90分以上为’A’;80~89分为’B’...。这块我会打的,但是当修改成
增加功能为:输入提示“请输入成绩(按回车键退出):”;当输入的分数为大于100或者小于0时,则输出“成绩有误,请重新输入!”,并让用户重新输入,直至按回车键,程序结束。
这就不明白怎么处理了,再麻烦您解惑了。
追答
不太想写了。。你看这里,看到后面你就知道了
用try/except语句即可(你想用while也可),你的读输入和那一堆判断放到try里面,如果是int(input())语句的话,回车应该是会直接终止程序的,你试试看