鱼C论坛

 找回密码
 立即注册
查看: 3400|回复: 16

关于score程序运行

[复制链接]
发表于 2017-7-11 22:30:46 | 显示全部楼层 |阅读模式

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

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

x
score=int(input("请输入分数:"))
if 100>=score>90:
    print('A')
    if 90>=score>=80:
        print('B')
        if score<0 or score>100:
            print('输入有误')
        当输入为300时,为何输出结果不是 输入有误?
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2017-7-11 22:34:01 | 显示全部楼层
缩进有问题,没有else,那么久不要缩进后面的if了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-7-11 22:38:03 | 显示全部楼层
成功了  谢谢 请问能分析一下为什么不缩进就成功了吗?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-7-11 22:38:53 | 显示全部楼层
缩进 缩进 缩进 重要的事情说三遍
  1. score=int(input("请输入分数:"))
  2. if 100>=score>90:
  3.     print('A')
  4. if 90>=score>=80:
  5.     print('B')
  6. if score<0 or score>100:
  7.     print('输入有误')
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-7-11 22:43:55 | 显示全部楼层
ba21 发表于 2017-7-11 22:38
缩进 缩进 缩进 重要的事情说三遍

谢谢 就是不明白为什么一定要缩进使“输入有误”能够打印
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-7-11 22:49:56 | 显示全部楼层
谢melon 发表于 2017-7-11 22:43
谢谢 就是不明白为什么一定要缩进使“输入有误”能够打印

python 是用 缩进 来区别代码块的。不同了 缩进 作用域不同!

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

使用道具 举报

发表于 2017-7-11 23:02:18 | 显示全部楼层
ba21 发表于 2017-7-11 22:49
python 是用 缩进 来区别代码块的。不同了 缩进 作用域不同!

我可不认为是缩进错了    只是他把第二、三个判断放到了第一个判断里   也就是说当第一个判断没有满足当然不会执行第二个判断啦  更别说第三个判断了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2017-7-11 23:04:14 | 显示全部楼层
西殴 发表于 2017-7-11 23:02
我可不认为是缩进错了    只是他把第二、三个判断放到了第一个判断里   也就是说当第一个判断没有满足当 ...

高手的见解就是不一样。请问该题如何解?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-7-11 23:17:03 | 显示全部楼层
西殴 发表于 2017-7-11 23:02
我可不认为是缩进错了    只是他把第二、三个判断放到了第一个判断里   也就是说当第一个判断没有满足当 ...

三个 if 不是在内存中依次执行吗?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-7-11 23:32:16 | 显示全部楼层
  1. if 100>=score>90:
  2.     print('A')
  3.     if 90>=score>=80:
  4.         print('B')
  5.         if score<0 or score>100:
  6.             print('输入有误')
复制代码

我来给你捋一捋,上面代码的逻辑是酱紫:

A. 如果 score 介于 90 到 100 之间,打印 'A';
B. 如果 score 介于 90 到 100 之间并且介于 80 到 90 之间,打印 'B';
C. 如果 score 介于 90 到 100 之间并且介于 80 到 90 之间并且小于 0 或者大于 100,打印 '输入错误'。

由于 B 和 C 的缩进比 A 要在深入一个级别,所以 B 和 C 要在 A 成立之后才会进行判断。

但很容易可以看出,这并不是作者的意图……

代码应该如下修改:

  1. if 100>=score>90:
  2.     print('A')
  3. if 90>=score>=80:
  4.     print('B')
  5. if score<0 or score>100:
  6.     print('输入有误')
复制代码



小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2017-7-11 23:34:07 | 显示全部楼层
ba21 发表于 2017-7-11 23:04
高手的见解就是不一样。请问该题如何解?
  1. while True:
  2.     score=int(input("请输入分数:"))
  3.     if score<=100 and score>0:
  4.         if  score >= 60:
  5.             if  score >= 70:
  6.                 if score >= 80:
  7.                     if score >= 90:
  8.                         print('A')
  9.                     else:
  10.                         print('B')
  11.                 else:
  12.                     print('C')
  13.             else:
  14.                 print('D')
  15.         else:
  16.             print('60以下')
  17.     else:
  18.         print('输入有误')
复制代码


那你说说我这个也是缩进错误了么
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-7-11 23:38:31 | 显示全部楼层
西殴 发表于 2017-7-11 23:34
那你说说我这个也是缩进错误了么

那你为什么要用缩进呢。可以不用撒
别来误人子弟
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-7-11 23:42:30 | 显示全部楼层
ba21 发表于 2017-7-11 23:38
那你为什么要用缩进呢。可以不用撒
别来误人子弟

好吧  是我误人子弟
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-7-11 23:44:32 | 显示全部楼层
西殴 发表于 2017-7-11 23:42
好吧  是我误人子弟

随带问一下,你是用的空格,还是缩进哦
难道是用空格解决问题的
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-7-11 23:48:05 | 显示全部楼层
ba21 发表于 2017-7-11 23:44
随带问一下,你是用的空格,还是缩进哦
难道是用空格解决问题的

我不知道    我是这样理解的  这要这个程序能跑 就不是缩进错误  是你自己用错了缩进
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-7-11 23:53:29 | 显示全部楼层
西殴 发表于 2017-7-11 23:48
我不知道    我是这样理解的  这要这个程序能跑 就不是缩进错误  是你自己用错了缩进

他上题 就是 缩进 用得不当导致的逻辑错误;程序虽然能执行,但得不到想要的结果。
按你的意思也没错,但是问题是你觉得上面代码的意图是要做成你的那个样子吗?我觉得不可能,简单的东西没必要这么复杂化,况且谁看了上面的代码也不会想要改成你那个样子吧。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-7-11 23:55:44 | 显示全部楼层
嗯  是的  
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-22 10:08

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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