Python 条件运算符

Python程序设计语言使用一种不同的语法处理条件表达式:

valueTrue if condition else valueFalse

这一特性在Python 2.5以前的版本并不可用。
Guido van Rossum(Python的最初设计者及主要架构师)起初认为C?X:Y这样的功能容易出错而未将此功能加入Python,不过后来有许多程序员试图用C and [X] or [Y]来代替之,貌似这是未完全正确的方法。
面对种种问题,吉多·范·罗苏姆最终采用了X if C else Y的方法。links..

(C and [X] or [Y])非官方用法:

>>> 1 and 'z' or 'h'
'z'
>>> 0 and 'z' or 'h'
'h'
>>> a = ''
>>> b = 'h'
>>> 1 and a or b # wrong?
'h'
>>> (1 and [a] or [b])[0] # solusion
''
>>> 

题目:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示
程序代码:

# -*- coding: UTF-8 -*-
score = int(raw_input('input score:'))
# grade = 'A' if score>=90 else 'B' if score>=60 else 'C' #标准方法
grade = score>=90 and 'A' or score>=60 and 'B' or 'C'
print '%d belongs to %s' % (score, grade)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前言 Python的创始人为Guido van Rossum。1989年圣诞节期间,在阿姆斯特丹,Guido为了打...
    依依玖玥阅读 8,931评论 6 37
  • 本节内容 Python介绍 发展史 Python 2 or 3? 安装 Hello World程序 变量 用户输入...
    小小不懂11阅读 8,718评论 2 30
  • 个人笔记,方便自己查阅使用 Py.LangSpec.Contents Refs Built-in Closure ...
    freenik阅读 67,818评论 0 5
  • 文/Bruce.Liu1 1.Python前世今生 1.1.Python历史 Python的创始人: Guido ...
    BruceLiu1阅读 14,132评论 3 119
  • Python简介 Python历史 Python 是由 Guido van Rossum 在八十年代末和九十年代初...
    莫名其妙的一生阅读 4,664评论 0 2