koreabao 发表于 2022-1-18 17:50:42

第15讲 了不起的分支2课后作业问题

本帖最后由 koreabao 于 2022-1-18 17:52 编辑

题目:下面条件分支用条件表达式做出来
age = 18
isMale = True
if age < 18:
    print("抱歉,未满18岁禁止访问。")
else:
    if isMale:
      print("任君选购!")
    else:
      print("抱歉,本店商品可能不适合小公举哦~")

本人答案:
为了美观尝试分行来写
age = 18
isMale = True
print(("抱歉,未满18岁禁止访问。") if age < 18
      else print("任君选购!")if isMale
      else print("抱歉,本店商品可能不适合小公举哦~"))   


然后执行代码答案为
任君选购
None

问题: None 从什么地方来的呢?

python爱好者. 发表于 2022-1-18 18:03:55

age = 18
isMale = True
print(("抱歉,未满18岁禁止访问。") if age < 18
      else print("任君选购!")if isMale                   #你这里用print()语句去打印print()的结果,然而它肯定不会有结果,所以返回None
      else print("抱歉,本店商品可能不适合小公举哦~"))    #同理


应该改为:
age = 18
isMale = True
print(("抱歉,未满18岁禁止访问。") if age < 18
      else ("任君选购!")if isMale
      else ("抱歉,本店商品可能不适合小公举哦~"))   

python爱好者. 发表于 2022-1-18 18:05:29

懂了吗?懂了就给个好评吧!!!
{:10_257:}{:10_297:}{:10_281:}{:10_298:}
打字不易!请给个好评!!!
兄弟!给个好评!求求了!!!
{:10_254:}{:10_254:}{:10_254:}{:10_254:}

python爱好者. 发表于 2022-1-18 18:07:55

虽然 print() 语句本身不会返回任何值,
但是 Python 里,所有对象都有返回值,
所以你打印出 print() 的返回值,
当然是 None 啦!
不信你自己试试:
print(print())
会返回结果 None!

舍侠 发表于 2022-1-18 22:26:19

我复制你的代码,运行了一下,没出现NONE,很奇怪

YSW9527 发表于 2022-1-18 23:30:13

isMale = True
print(("抱歉,未满18岁禁止访问。") if age < 18
      else print("任君选购!")if isMale #isMale的值是True所以会执行这条语句,但是里面你没有写任何内容,编译器就会给你返回一个none
      else print("抱歉,本店商品可能不适合小公举哦~"))
      

koreabao 发表于 2022-1-19 07:23:55

python爱好者. 发表于 2022-1-18 18:03
应该改为:

谢谢 ,问题解决了 哈哈

koreabao 发表于 2022-1-19 07:24:41

舍侠 发表于 2022-1-18 22:26
我复制你的代码,运行了一下,没出现NONE,很奇怪

我还是有,哈哈 ,可能我的电脑和我生气了

python爱好者. 发表于 2022-1-19 07:28:57

谢谢兄弟好评!

koreabao 发表于 2022-1-19 08:54:23

python爱好者. 发表于 2022-1-19 07:28
谢谢兄弟好评!

谢谢帮助我进步 嘿嘿

python爱好者. 发表于 2022-1-19 08:58:34

不用谢,都是兄弟!
页: [1]
查看完整版本: 第15讲 了不起的分支2课后作业问题