学无止境哎 发表于 2020-6-17 12:29:58

课堂作业延伸拓展

import random
score=random.randint(1,100)
temp=input("请输入分数")
score=int(temp)
while score != 0:
    temp==input('请继续输入')
    score=int(temp)
    if 100 >= score > 90:
      print('A')
    else:
      if 90 >= score >80:
            print('B')
      else:
            if 80 >= score >70:
                print('C')
            else:
                if 70 >= score >=60:
                  print('D')
                else:
                  print('不及格')

我想要进行多次分数的录入并且划分等级,但是运行之后,一直重复循环出现:请输入分数40
请继续输入40
不及格
请继续输入78
不及格
请继续输入60
不及格
请继续输入70
不及格
请继续输入。去掉while语句的时候就是正常的,请问这个while语句哪边有问题呢?

Twilight6 发表于 2020-6-17 12:44:51

import random
score=random.randint(1,100)
这个地方这个没啥作用,因为这个是取随机数的~而且你这重新赋值也覆盖了之前的 score
score=int(temp)

还有这里的写法是错误的,赋值一个等号,判断 == 等号:
temp==input('请继续输入')


改成这样就好了:

temp=input("请输入分数")
score=int(temp)
while score != 0:
    if 100 >= score > 90:
      print('A')
    else:
      if 90 >= score >80:
            print('B')
      else:
            if 80 >= score >70:
                print('C')
            else:
                if 70 >= score >=60:
                  print('D')
                else:
                  print('不及格')
    temp = input('请继续输入')
    score = int(temp)

学无止境哎 发表于 2020-6-17 13:23:17

Twilight6 发表于 2020-6-17 12:44
这个地方这个没啥作用,因为这个是取随机数的~而且你这重新赋值也覆盖了之前的 score




前面加的impot导入,是在循环语句无法执行的情况下随意加的。能帮忙解释下为什么temp = input('请继续输入')
    score = int(temp)的放置位置的区别么。为什么我放在while之后,就是死循环呢?谢谢

Twilight6 发表于 2020-6-17 13:24:24

学无止境哎 发表于 2020-6-17 13:23
前面加的impot导入,是在循环语句无法执行的情况下随意加的。能帮忙解释下为什么temp = input('请继续输 ...

你应该是不小心放到了 while 的缩进外了,就不属于 while 的循环代码块所以一直死循环打印

学无止境哎 发表于 2020-6-17 13:35:58

Twilight6 发表于 2020-6-17 13:24
你应该是不小心放到了 while 的缩进外了,就不属于 while 的循环代码块所以一直死循环打印

万分感谢!

Twilight6 发表于 2020-6-17 13:36:37

学无止境哎 发表于 2020-6-17 13:35
万分感谢!

{:10_297:}客气!加油吧~~~
页: [1]
查看完整版本: 课堂作业延伸拓展