鱼C论坛

 找回密码
 立即注册
查看: 3066|回复: 13

[已解决]关于添加循环

[复制链接]
发表于 2015-11-17 10:09:07 | 显示全部楼层 |阅读模式
1鱼币
score = int(input('请输入一个分数:'))
if 80 > score >= 60:
    print('C')
elif 90 > score >= 80:
    print('B')
elif 60 > score >= 0:
    print('D')
elif 100 >= score >= 90:
    print('A')
else:
    print('输入错误!')


老师您好,若输错了需要重新输入怎么写呢?
最佳答案
2015-11-17 10:09:08
你指输入的数据不是你想要的么你可以在最开始对输入进行检测,如果不是你预期的那么下边的都不用执行,如果符合预期你可以继续执行,其中预期你可以设置成你想要的字符,当时你设定的字符时下边不运行,思路就是这么简单,if根本不用跳出因为检测为假是不会执行的,只有循环while才有跳出,用break

最佳答案

查看完整内容

你指输入的数据不是你想要的么你可以在最开始对输入进行检测,如果不是你预期的那么下边的都不用执行,如果符合预期你可以继续执行,其中预期你可以设置成你想要的字符,当时你设定的字符时下边不运行,思路就是这么简单,if根本不用跳出因为检测为假是不会执行的,只有循环while才有跳出,用break
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2015-11-17 10:09:08 | 显示全部楼层    本楼为最佳答案   
你指输入的数据不是你想要的么你可以在最开始对输入进行检测,如果不是你预期的那么下边的都不用执行,如果符合预期你可以继续执行,其中预期你可以设置成你想要的字符,当时你设定的字符时下边不运行,思路就是这么简单,if根本不用跳出因为检测为假是不会执行的,只有循环while才有跳出,用break

评分

参与人数 1荣誉 +3 鱼币 +5 收起 理由
~风介~ + 3 + 5 支持楼主!

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2015-11-17 10:57:12 | 显示全部楼层
又琢磨了下你的语义再次回答一下
你可以在最外边弄个while 这样就会循环执行了 但是要跳出你需要设置break
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2015-11-17 11:54:57 | 显示全部楼层
无名似名 发表于 2015-11-17 10:57
又琢磨了下你的语义再次回答一下
你可以在最外边弄个while 这样就会循环执行了 但是要跳出你需要设置break

非常感谢您!看到您的回复很开心

score = int(input('请输入分数:'))

while score < 0 or score > 100:
    score = int(input('输入错误,请重新输入:'))

if score >= 60:
    print('C')
elif score >= 80:
    print('B')
elif score >= 90:
    print('A')
else:
    print('D')
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2015-11-17 12:10:19 | 显示全部楼层
本帖最后由 无名似名 于 2015-11-17 12:13 编辑

你的逻辑虽然正确但是我是真么编辑逻辑的,用伪代码演示一下:

while True:
    temp=input(”输入数据“)
    if temp不符合要求:
        print(“数据有误”)
    else:
        if语句块
        break

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2015-11-17 14:40:40 | 显示全部楼层
无名似名 发表于 2015-11-17 12:10
你的逻辑虽然正确但是我是真么编辑逻辑的,用伪代码演示一下:

while True:

您是这个意思吗?

score = int(input('请输入一个分数:'))
while True:
  if 80 > score >= 60:
      print('C')
      break
  elif 90 > score >= 80:
      print('B')
      break
  elif 60 > score >= 0:
      print('D')
      break
  elif 100 >= score >= 90:
      print('A')
      break
  else:
      score = int(input('输入错误,请重新输入一个分数:'))
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2015-11-17 14:41:29 | 显示全部楼层
无名似名 发表于 2015-11-17 12:10
你的逻辑虽然正确但是我是真么编辑逻辑的,用伪代码演示一下:

while True:

您是这个意思吗?

score = int(input('请输入一个分数:'))
while True:
  if 80 > score >= 60:
      print('C')
      break
  elif 90 > score >= 80:
      print('B')
      break
  elif 60 > score >= 0:
      print('D')
      break
  elif 100 >= score >= 90:
      print('A')
      break
  else:
      score = int(input('输入错误,请重新输入一个分数:'))
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2015-11-19 21:47:45 | 显示全部楼层
birlyjer 发表于 2015-11-17 14:41
您是这个意思吗?

score = int(input('请输入一个分数:'))

对,就是这样子~
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2015-12-8 14:09:00 | 显示全部楼层
这个只能判断正确与否,不能在错误的时候接着循环到输入项,有循环需要用while:big
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2015-12-8 18:52:33 | 显示全部楼层
本帖最后由 farewellpoem 于 2015-12-8 18:56 编辑

如果你输入的是字符串不是数字怎么办?别急,这个程序也可以判断出来然后让你重新输入的。试一下吧
sorce = input("请输入你的分数(0-100):")
while not sorce.isdigit():
    sorce = input("抱歉,你输入有误,请输入一个整数:")
while sorce.isdigit():
    temp = int(sorce)
    if(temp >=90 and temp <= 100):
        print("A")
        break
    elif(temp >= 80 and temp < 90):
        print("B")
        break
    elif(temp >= 60 and temp < 80):
        print("C")
        break
    elif(temp >= 0 and temp < 60):
        print("D")
        break
    else:
        sorce = input("抱歉,你输入数字不在范围内,请输入一个0-100的整数:")
        while not sorce.isdigit():
            sorce = input("抱歉,你输入有误,请输入一个整数:")
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-2-20 21:03:03 | 显示全部楼层
用递归也可以吧~
def score_():

    score = int(input('请输入一个分数:'))
    if 80 > score >= 60:
        print('C')
    elif 90 > score >= 80:
        print('B')
    elif 60 > score >= 0:
        print('D')
    elif 100 >= score >= 90:
        print('A')
    else:
        print('输入错误!')
        scroe_()
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-8-7 13:32:37 | 显示全部楼层
birlyjer 发表于 2015-11-17 14:41
您是这个意思吗?

score = int(input('请输入一个分数:'))

input放到while下,不然下一次循环调用不到的
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-11-23 11:27:02 | 显示全部楼层
while True:
    score = int(input('请输入一个分数:'))
    if 0 <= score <= 100:
          break

if 80 > score >= 60:
    print('C')
elif 90 > score >= 80:
    print('B')
elif 60 > score >= 0:
    print('D')
elif 100 >= score >= 90:
    print('A')
else:
    print('输入错误!')
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-11-24 09:22:56 | 显示全部楼层
用while循环。不过记得一定要有break  不然没办法退出
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-2-18 07:50

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表