各位朋友,帮我解答一下这个题目?
本帖最后由 fish_nian 于 2022-1-5 15:14 编辑如果使用题目的写就会变成
('y' <'x') and ('x' == False)
那么 非零 的值判断就是True , True == False 就是 False .
这道题就是考写法问题
{:10_277:}小甲鱼的课后习题中出过类似的. "y"<"x"==False
相当于
"y"<"x"and "x"==False
所以 最终结果为False fish_nian 发表于 2022-1-5 13:28
如果使用题目的写就会变成
根据ord('x')的结果是 120 ,那么 非零 的值判断就是True , True == False 就 ...
如你所说,根据 ord('x') 的结果是 120 确实非零,那么 ord('\0') 呢?
试试:print(bool('\0')) # 结果是 True? 傻眼貓咪 发表于 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 了 傻眼貓咪 发表于 2022-1-5 14:26
如你所说,根据 ord('x') 的结果是 120 确实非零,那么 ord('\0') 呢?
试试:print(bool('\0')) # 结 ...
{:10_257:}另外我不知道python 对于 \0 结束符会有什么判断,但是我认为他是字符串格式的 fish_nian 发表于 2022-1-5 14:37
你这个跟我说的不是一回事,ord('x') 返回的是 int 类型的,那么int 类型的不就是 非0为True吗,那么'\0',这 ...
斜杠0是c里面的东东 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) 本帖最后由 傻眼貓咪 于 2022-1-5 14:53 编辑
wp231957 发表于 2022-1-5 14:46
斜杠0是c里面的东东
不对,\0 是 ASCII 编号为 0 的控制符 傻眼貓咪 发表于 2022-1-5 14:51
不对
python中好像没有斜杠0的概念 wp231957 发表于 2022-1-5 14:53
python中好像没有斜杠0的概念
好像比较不普遍 傻眼貓咪 发表于 2022-1-5 14:50
没错,这就是python的判断,正确应该是:
if("x" == False) 和 if(ord("x") == False) 不一样,一个 ...
{:10_266:}前面说错了,脑子乱了,后面跟你一说才想起来 fish_nian 发表于 2022-1-5 15:17
前面说错了,脑子乱了,后面跟你一说才想起来
哈哈,有时我也会忘记基本知识{:10_245:},共同学习 上面都是大佬,我也来嫌丑了。
首先不知道你为什么会选择一个B,比较运算符肯定是返回一个bool,True 或者False .
其次,如果你对题目写的有点不 明白, 你看尝试看这个x < y < z 。你想判断一个y数字在不在某个区间内。那么y必定要大于x并且小于y。
页:
[1]