litianyang 发表于 2020-4-23 09:45:19

帮我看看程序

m = 3
while m > 0:
x = input("请输入你的分数")
fenshu = int(x)
if fenshu < 60:
print("D")
else:
   if60 <= fenshu < 80:
    print("C")
   else:
   if 80 <= fenshu < 90:
      print("B")
   else:
       if 90 <= fenshu < 100:
      print("A")
       else:
         if fenshu == 100:
          print("S")
         else:
             if fenshu !='e':
               print("jieshu")

我怎么让他输入e就结束啊

qiuyouzhi 发表于 2020-4-23 09:47:02

改成这样:
m = 3
while m > 0:
x = input("请输入你的分数")
if x == 'e':
    break
fenshu = int(x)
if fenshu < 60:
print("D")
else:
   if60 <= fenshu < 80:
    print("C")
   else:
   if 80 <= fenshu < 90:
      print("B")
   else:
       if 90 <= fenshu < 100:
      print("A")
       else:
         if fenshu == 100:
          print("S")
         else:
             if fenshu !='e':
               print("jieshu")
在前面加一个判断。

你这代码太乱了,那些细节我就没给你改。

txxcat 发表于 2020-4-23 09:56:50

你要在进行int转换前判断e,不然输入e之后运行int('e'),只能报错了。另外else if可以简写省elif,再有你没有扣减次数m:
m=3
while m > 0:
    x = input("请输入你的分数:")
    if x=='e':
      break
    fenshu = int(x)
    if fenshu < 60:
      print("D")
    elif 60 <= fenshu < 80:
      print("C")
    elif 80 <= fenshu < 90:
      print("B")
    elif 90 <= fenshu < 100:
      print("A")
    elif fenshu == 100:
      print("S")
    m-=1                     
print("结束!")

litianyang 发表于 2020-4-23 10:15:00

txxcat 发表于 2020-4-23 09:56
你要在进行int转换前判断e,不然输入e之后运行int('e'),只能报错了。另外else if可以简写省elif,再有你没 ...

我就是想让他 一直输入就可以运行 不然老是输入一个数 在运行太麻烦了 我这样理解循环次数对吗

litianyang 发表于 2020-4-23 10:16:15

qiuyouzhi 发表于 2020-4-23 09:47
改成这样:

在前面加一个判断。


毕竟菜鸟一个{:5_100:}之前搞不动的就是e这个我是定的int   所以碰到e没办法解决

litianyang 发表于 2020-4-23 10:17:59

qiuyouzhi 发表于 2020-4-23 09:47
改成这样:

在前面加一个判断。


可以加个 联系方式吗有一些基础的问题想问下 大佬

txxcat 发表于 2020-4-23 10:24:23

litianyang 发表于 2020-4-23 10:15
我就是想让他 一直输入就可以运行 不然老是输入一个数 在运行太麻烦了 我这样理解循环次数对吗

无限循环就把m去掉:
while True:
    x = input("请输入你的分数:")
    if x=='e':
      break
    fenshu = int(x)
    if fenshu < 60:
      print("D")
    elif 60 <= fenshu < 80:
      print("C")
    elif 80 <= fenshu < 90:
      print("B")
    elif 90 <= fenshu < 100:
      print("A")
    elif fenshu == 100:
      print("S")
print("结束!")

litianyang 发表于 2020-4-23 10:27:33

txxcat 发表于 2020-4-23 10:24
无限循环就把m去掉:

我那样 做也可以对吧 这是那样理解的就是麻烦了一下

txxcat 发表于 2020-4-23 10:35:43

litianyang 发表于 2020-4-23 10:27
我那样 做也可以对吧 这是那样理解的就是麻烦了一下

你指m=3,然后while m>0?是的,可以达到你的要求,但是这样留着无用变量对编程来说不是一个好习惯。

qiuyouzhi 发表于 2020-4-23 10:48:01

litianyang 发表于 2020-4-23 10:17
可以加个 联系方式吗有一些基础的问题想问下 大佬

OK
2072460575
QQ号

lxl_leo 发表于 2020-4-23 10:48:45

没有修改格式,修改成这样:
m = 3
while m > 0:
      x = input("请输入你的分数:")
      if x == 'e':
                print("jieshu")
                break
      fenshu = int(x)
      if fenshu < 60:
                print("D")
      else:
                if60 <= fenshu < 80:
                        print("C")
                else:
                        if 80 <= fenshu < 90:
                              print("B")
                        else:
                              if 90 <= fenshu < 100:
                                        print("A")
                              else:
                                        if fenshu == 100:
                                                print("S")
      m = m-1

修改格式后:
m = 3
while m > 0:
      x = input("请输入你的分数:")
      if x == 'e':
                print("jieshu")
                break
      fenshu = int(x)
      if fenshu < 60:
                print("D")
      if60 <= fenshu < 80:
                print("C")
      if 80 <= fenshu < 90:
                print("B")
      if 90 <= fenshu < 100:
                print("A")
      if fenshu == 100:
                print("S")
      m = m-1

litianyang 发表于 2020-4-23 11:18:48

txxcat 发表于 2020-4-23 10:35
你指m=3,然后while m>0?是的,可以达到你的要求,但是这样留着无用变量对编程来说不是一个好习惯。

好的 学到了
页: [1]
查看完整版本: 帮我看看程序