鱼C论坛

 找回密码
 立即注册
查看: 2125|回复: 6

[已解决]自己做了个小练习,报错,请大神解答,谢谢!

[复制链接]
发表于 2017-6-23 07:37:48 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本人是windows 7
print('-----亲爱的广大考生们,请输入你们的成绩------')
temp = input('该同学请输入您的分数:  ')
score = int(temp)
if 0 <= score < 60:
    print('you are too bad!' + ' D ')
    print('你必须要多努力!')
    if 60 <= socre <= 100:
        print('you are best!' + 'A')
        print('你真棒!' + '希望你继续保持,更上一层楼')
else:
    print('你输入有误,请重新输入')
最佳答案
2017-6-23 15:36:54
poiulp 发表于 2017-6-23 13:34
但还有个问题,如果分数是输入 0

因为你写了两个独立的if
假如输入30
先判断是不是0~60,成立,所以打印“you are too bad!' + ' D '  你必须要多努力! ”
之后又有一个if判断,是不是60-100,条件不成立,跳到了else中打印  '你输入有误,请重新输入'

这应该改成一个if结构,将第二个if改为elif
  1. print('-----亲爱的广大考生们,请输入你们的成绩------')
  2. temp = input('该同学请输入您的分数:  ')
  3. score = int(temp)
  4. if 0 <= score < 60:
  5.     print('you are too bad!' + ' D ')
  6.     print('你必须要多努力!')
  7. elif 60 <= score <= 100:
  8.     print('you are best!' + 'A')
  9.     print('你真棒!' + '希望你继续保持,更上一层楼')
  10. else:
  11.     print('你输入有误,请重新输入')
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-6-23 07:42:48 | 显示全部楼层
本帖最后由 挥舞乾坤 于 2017-6-23 07:49 编辑
  1. print('-----亲爱的广大考生们,请输入你们的成绩------')
  2. temp = input('该同学请输入您的分数:  ')
  3. score = int(temp)
  4. if 0 <= score < 60:
  5.     print('you are too bad!' + ' D ')
  6.     print('你必须要多努力!')
  7. if 60 <= score <= 100:
  8.     print('you are best!' + 'A')
  9.     print('你真棒!' + '希望你继续保持,更上一层楼')
  10. else:
  11.     print('你输入有误,请重新输入')
复制代码


改了两处,score拼写错误,第2个if缩进

评分

参与人数 1荣誉 +1 鱼币 +1 收起 理由
poiulp + 1 + 1 热爱鱼C^_^

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-6-23 13:34:51 | 显示全部楼层
挥舞乾坤 发表于 2017-6-23 07:42
改了两处,score拼写错误,第2个if缩进

但还有个问题,如果分数是输入 0 <= score < 60区间内的,也会弹出”你输入有误,请重新输入!“

-----亲爱的广大考生们,请输入你们的成绩------
该同学请输入您的分数:  6
you are too bad! D
你必须要多努力!
你输入有误,请重新输入
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-6-23 15:36:54 | 显示全部楼层    本楼为最佳答案   
poiulp 发表于 2017-6-23 13:34
但还有个问题,如果分数是输入 0

因为你写了两个独立的if
假如输入30
先判断是不是0~60,成立,所以打印“you are too bad!' + ' D '  你必须要多努力! ”
之后又有一个if判断,是不是60-100,条件不成立,跳到了else中打印  '你输入有误,请重新输入'

这应该改成一个if结构,将第二个if改为elif
  1. print('-----亲爱的广大考生们,请输入你们的成绩------')
  2. temp = input('该同学请输入您的分数:  ')
  3. score = int(temp)
  4. if 0 <= score < 60:
  5.     print('you are too bad!' + ' D ')
  6.     print('你必须要多努力!')
  7. elif 60 <= score <= 100:
  8.     print('you are best!' + 'A')
  9.     print('你真棒!' + '希望你继续保持,更上一层楼')
  10. else:
  11.     print('你输入有误,请重新输入')
复制代码

评分

参与人数 1荣誉 +1 鱼币 +1 收起 理由
poiulp + 1 + 1 支持楼主!

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-6-23 15:40:31 | 显示全部楼层
  1. print('-----亲爱的广大考生们,请输入你们的成绩------')
  2. temp = input('该同学请输入您的分数:  ')
  3. score = int(temp)
  4. if 0 <= score < 60:
  5.     print('you are too bad!' + ' D ')
  6.     print('你必须要多努力!')
  7. if 60 <= score <= 100:
  8.     print('you are best!' + 'A')
  9.     print('你真棒!' + '希望你继续保持,更上一层楼')
  10. else:
  11.     print('你输入有误,请重新输入')
复制代码

以上为你的源代码(修改后)
错就错在你的 if引导句
如果看你的四到六行,的确是没问题,可是为什么在10,11行写一个else呢(这个else是跟着第七行的if走的),这样的话你输入小于60的数就会跳到else
修改方法:
  1. print('-----亲爱的广大考生们,请输入你们的成绩------')
  2. temp = input('该同学请输入您的分数:  ')
  3. score = int(temp)
  4. if 0 <= score < 60:
  5.     print('you are too bad!' + ' D ')
  6.     print('你必须要多努力!')
  7. elif 60 <= score <= 100:
  8.     print('you are best!' + 'A')
  9.     print('你真棒!' + '希望你继续保持,更上一层楼')
  10. else:
  11.     print('你输入有误,请重新输入')
复制代码

评分

参与人数 1荣誉 +1 鱼币 +1 收起 理由
poiulp + 1 + 1 感谢楼主无私奉献!

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2017-6-24 12:47:04 | 显示全部楼层
shuofxz 发表于 2017-6-23 15:36
因为你写了两个独立的if
假如输入30
先判断是不是0~60,成立,所以打印“you are too bad!' + ' D '   ...

谢谢! 还没有学到elif,我会努力的!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-6-24 12:47:45 | 显示全部楼层
新手·ing 发表于 2017-6-23 15:40
以上为你的源代码(修改后)
错就错在你的 if引导句
如果看你的四到六行,的确是没问题,可是为什么在1 ...

谢谢,明白了!感谢您的解答!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-2 15:54

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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