鱼C论坛

 找回密码
 立即注册
查看: 1253|回复: 14

[已解决]各位朋友,帮我解答一下这个题目?

[复制链接]
发表于 2022-1-5 13:09:24 | 显示全部楼层 |阅读模式
2鱼币
IMG_20220105_130911.jpg
最佳答案
2022-1-5 13:09:25
本帖最后由 fish_nian 于 2022-1-5 15:14 编辑

如果使用题目的写就会变成
('y' <'x') and ('x' == False)
那么 非零 的值判断就是True , True == False 就是 False .
这道题就是考写法问题

最佳答案

查看完整内容

如果使用题目的写就会变成 那么 非零 的值判断就是True , True == False 就是 False . 这道题就是考写法问题
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-1-5 13:09:25 | 显示全部楼层    本楼为最佳答案   
本帖最后由 fish_nian 于 2022-1-5 15:14 编辑

如果使用题目的写就会变成
('y' <'x') and ('x' == False)
那么 非零 的值判断就是True , True == False 就是 False .
这道题就是考写法问题
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-1-5 13:33:01 | 显示全部楼层
小甲鱼的课后习题中出过类似的.
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-1-5 13:34:15 | 显示全部楼层
"y"<"x"==False
相当于

"y"<"x"  and "x"==False
所以 最终结果为False
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-1-5 14:26:19 From FishC Mobile | 显示全部楼层
fish_nian 发表于 2022-1-5 13:28
如果使用题目的写就会变成

根据ord('x')的结果是 120 ,那么 非零 的值判断就是True , True == False 就 ...

如你所说,根据 ord('x') 的结果是 120 确实非零,那么 ord('\0') 呢?

试试:print(bool('\0')) # 结果是 True?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-1-5 14:37:44 | 显示全部楼层
傻眼貓咪 发表于 2022-1-5 14:26
如你所说,根据 ord('x') 的结果是 120 确实非零,那么 ord('\0') 呢?

试试:print(bool('\0')) # 结 ...

你这个跟我说的不是一回事,ord('x') 返回的是 int 类型的,那么int 类型的不就是 非0为True吗,那么'\0',这个是字符串形式,字符串形式的布尔类型判断为False 的是 0 和空字符,那么按你说的 print(bool(' ')),我打个空值上去也会判断为true , 那么print(bool(ord('\0'))) ,就会显示为False 了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-1-5 14:38:31 | 显示全部楼层
傻眼貓咪 发表于 2022-1-5 14:26
如你所说,根据 ord('x') 的结果是 120 确实非零,那么 ord('\0') 呢?

试试:print(bool('\0')) # 结 ...

另外我不知道python 对于 \0 结束符会有什么判断,但是我认为他是字符串格式的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-1-5 14:46:21 From FishC Mobile | 显示全部楼层
fish_nian 发表于 2022-1-5 14:37
你这个跟我说的不是一回事,ord('x') 返回的是 int 类型的,那么int 类型的不就是 非0为True吗,那么'\0',这 ...

斜杠0是c里面的东东
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-1-5 14:50:23 From FishC Mobile | 显示全部楼层
fish_nian 发表于 2022-1-5 14:38
另外我不知道python 对于 \0 结束符会有什么判断,但是我认为他是字符串格式的


没错,这就是python的判断,正确应该是:

if("x" == False) 和 if(ord("x") == False) 不一样,一个是字符串,一个是字符对应ASCII值

所以,
if("\0" == False) 和 if(ord("\0") == False) 也是不一样。

字符串都是True,除非是空字符串:
if "":
        print(True)
else:
        print(False)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-1-5 14:51:47 From FishC Mobile | 显示全部楼层
本帖最后由 傻眼貓咪 于 2022-1-5 14:53 编辑
wp231957 发表于 2022-1-5 14:46
斜杠0是c里面的东东


不对,\0 是 ASCII 编号为 0 的控制符
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-1-5 14:53:04 From FishC Mobile | 显示全部楼层
傻眼貓咪 发表于 2022-1-5 14:51
不对

python中好像没有斜杠0的概念
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-1-5 14:54:13 From FishC Mobile | 显示全部楼层
wp231957 发表于 2022-1-5 14:53
python中好像没有斜杠0的概念

好像比较不普遍
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-1-5 15:17:10 | 显示全部楼层
傻眼貓咪 发表于 2022-1-5 14:50
没错,这就是python的判断,正确应该是:

if("x" == False) 和 if(ord("x") == False) 不一样,一个 ...

前面说错了,脑子乱了,后面跟你一说才想起来
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-1-5 15:19:08 From FishC Mobile | 显示全部楼层
fish_nian 发表于 2022-1-5 15:17
前面说错了,脑子乱了,后面跟你一说才想起来

哈哈,有时我也会忘记基本知识,共同学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-1-5 16:40:05 | 显示全部楼层
上面都是大佬,我也来嫌丑了。
首先不知道你为什么会选择一个B,比较运算符肯定是返回一个bool,True 或者False .
其次,如果你对题目写的有点不 明白, 你看尝试看这个  x < y < z    。你想判断一个y数字在不在某个区间内。那么y必定要大于x并且小于y。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-12 13:31

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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