设为首页收藏本站

Crossin的编程教室

 找回密码
 立即加入
楼主: crossin先生
打印 上一主题 下一主题

【Python 第51课】 and-or技巧

[复制链接]

0

主题

1

好友

36

积分

新手上路

Rank: 1

11#
发表于 2014-6-27 20:45:51 |只看该作者
a = ""
b = "hell"
c = (True and [a] or [b])[0]
print c
--------------------------------
[0] 加了是空白 不加是['']
老师的本意是要我们看到a的值吗?
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

12#
发表于 2014-6-28 16:58:50 |只看该作者
脑子有音乐 发表于 2014-6-27 20:45
a = ""
b = "hell"
c = (True and [a] or )[0]

是的
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

0

主题

0

好友

558

积分

高级会员

Rank: 4

13#
发表于 2014-9-26 00:45:05 |只看该作者
本帖最后由 liu-pengfei 于 2014-9-26 00:48 编辑

好像挺有意思的。不过这段话中,
比如:
  • a = ""
  • b = "hell"
  • c = True and a or b
  • print c

复制代码
得到的结果就是"hell"。因为""和"hell"做and的结果是"hell"。
有,因为""和"hell"做and的结果是"hell"。,and应该是改为or吧?
学习,纯粹。
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

14#
发表于 2014-9-26 10:42:44 |只看该作者
liu-pengfei 发表于 2014-9-26 00:45
好像挺有意思的。不过这段话中,
比如:
  • a = ""

  • 嗯,对
    #==== Crossin的编程教室 ====#
    微信ID:crossincode
    网站:http://crossincode.com
    回复

    使用道具 举报

    0

    主题

    1

    好友

    132

    积分

    注册会员

    Rank: 2

    15#
    发表于 2015-12-11 14:01:15 |只看该作者
    get
    回复

    使用道具 举报

    0

    主题

    0

    好友

    200

    积分

    中级会员

    Rank: 3Rank: 3

    16#
    发表于 2015-12-17 17:05:12 |只看该作者
    本帖最后由 周末晒被子 于 2015-12-17 17:19 编辑

    先生,

    a = ""
    b = "hell"
    c = True and a or b  #因为""和"hell"做and的结果是"hell"
    print c

    您说,因为""和"hell"做and的结果是"hell",但是应该是,因为""和"hell"做or的结果是"hell"吧?
    因为"hell"在这段代码就只跟在or之后啊~
    回复

    使用道具 举报

    0

    主题

    0

    好友

    200

    积分

    中级会员

    Rank: 3Rank: 3

    17#
    发表于 2015-12-17 17:27:42 |只看该作者
    crossin先生 发表于 2014-6-5 13:52
    空字符是False
    所以 ‘’ and ‘Hell’ 时,在前半段就直接可以得出结果了,于是就是a的结果 ...

    表示对这个回复看不懂,其实是对 and or ,这整个运算过程不懂。
    我能判断 变量之间比如 a、b, and or 之后会得出True还是False(也就是第6课的知识),但是不知道会输出哪个变量,a还是b。
    回复

    使用道具 举报

    174

    主题

    45

    好友

    11万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    18#
    发表于 2015-12-17 22:15:33 |只看该作者
    周末晒被子 发表于 2015-12-17 17:05
    先生,

    a = ""

    你说的对,我已经改了。楼上也说到这里的问题
    #==== Crossin的编程教室 ====#
    微信ID:crossincode
    网站:http://crossincode.com
    回复

    使用道具 举报

    174

    主题

    45

    好友

    11万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    19#
    发表于 2015-12-17 22:16:52 |只看该作者
    周末晒被子 发表于 2015-12-17 17:27
    表示对这个回复看不懂,其实是对 and or ,这整个运算过程不懂。
    我能判断 变量之间比如 a、b, and or  ...

    你可以试试不同值 and 和 or 的结果,会有些理解
    但这个其实有点太过技巧性了,真正编程最好别这么用
    #==== Crossin的编程教室 ====#
    微信ID:crossincode
    网站:http://crossincode.com
    回复

    使用道具 举报

    2

    主题

    0

    好友

    46

    积分

    新手上路

    Rank: 1

    20#
    发表于 2016-7-29 16:09:42 |只看该作者
    为什么c = (True and [a] or [b])[0]最后需要有[0]?什么意思啊?
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即加入

    QQ|手机版|Archiver|Crossin的编程教室 ( 苏ICP备15063769号  

    GMT+8, 2024-5-19 04:48 , Processed in 0.028281 second(s), 20 queries .

    Powered by Discuz! X2.5

    © 2001-2012 Comsenz Inc.

    回顶部