条件判断语句

# -*- coding: utf-8 -*-
# @Time    : 2019/11/5 10:15
# @Author  : John
# @Email   : 2398344557@qq.com
# @File    : 条件判断语句.py
# @Software: PyCharm

Python中:

  • 任何非0和非空None的值都为True
  • 反之0或None则为False
  • if语句的基本形式
# if 判断条件:
#     执行语句
# else:
#     执行语句
result = 59
if result >= 60:
    print('及格')
else:
    print('不及格')
—— 不及格
# ----------------------------------------
# *** 拓展***

# 创建if语句快捷方式:条件后.if,然后按tab键
# result >= 60.if    <== tab键
# ----------------------------------------
# *** 拓展***

# 这样写也成立:
if 1:
    print('if执行了')
if True:
    print('if也执行了')
if '1':
    print('if执行了')
if [0]:
    print('if执行了')
if {0}:
    print('if执行了')
if {'0': 0}:
    print('if执行了')
if (0,):
    print('if执行了')
...
—— if执行了
# 结论:if条件为真时,就会执行执行语句
# ----------------------------------------
# *** 拓展***

# 三目运算符
#格式:print('' if 条件 else '')
print('及格' if result >=60 else '不及格')
—— 不及格
  • if 语句多个判断的形式
score = int(input('请输入你的成绩:'))
if score > 90:
    print('你的成绩为优秀')
elif score >80:
    print('你的成绩为良好')
elif score > 60:
    print('你的成绩为及格')
elif score < 60:
    print('你的成绩为不及格')
—— 请输入你的成绩:91
   你的成绩为优秀
   请输入你的成绩:79
   你的成绩为及格
  • if语句多个条件同时判断的形式
# 很多编程语言使用switch去判断多个条件
# Python中并没有提供sswitch语句,而是使用elif来代替
# or(或),表示两个条件有一个成立了时,判断条件成立(一真必真)
# and(与),表示只有当两个条件同时成立时,判断条件成立(一假必假)
# 格式:
# if 情况1:
#     事情1
# elif 情况2:
#     事情2
# ...
# else:
#     以上都不满足时执行的事情
score = int(input('请输入你的成绩:'))
if score >= 90 and score <= 100:
    print('你的成绩为优秀')
elif score >= 75 and score < 90:
    print('你的成绩为良好')
elif score >= 60 and score < 75:
    print('你的成绩为及格')
elif score < 60:
    print('你的成绩为不及格')
else:
    print('请输入数字!100及以内')
—— 请输入你的成绩:100
   你的成绩为优秀
   请输入你的成绩:80
   你的成绩为良好
   请输入你的成绩:70
   你的成绩为及格
   请输入你的成绩:59
   你的成绩为不及格
# 结论:1. elif必须与if一起使用
#       2. else可以选择性使用,是以上情况(条件)都不满足时使用
# ***拓展***
# ----------------

# 当if有多个条件时可以使用括号来区分判断的先后循序,括号中的判断优先执行(括号提高优先级),此外,and和or 的优先级低于>(大于),<(小于)等判断符号,即大于和小于在没有括号的 情况会比“与”、“或”要优先判断
java = 86
python = 68
if (80 <= java < 90) or (80 <= python < 90):
    print('good')
—— good
  • if的嵌套
# if 条件1:
#     满足条件1时执行的事情
#     if 条件2:
#         满足条件1执行的事情
# 说明:
# 外层的if判断,也可以是if else
# 内层的if判断,也可以是if else

【课堂练习】我想买车,买什么车决定于我在银行有多少存款

# 要求:
# 如果我的存款超过500万,我就买路虎
# 否则,如果我的存款超过100万,我就买宝马
# 否则, 如果我的存款超过50万,我就买迈腾
# 否则, 如果我的存款超过10万,我就买福特
# 否则, 如果我的存款10万以下 ,我买比亚迪

money = int(input('我在银行有多少存款(万)?'))
if money > 500:
    print('我的存款超过了500万,买路虎!')
elif money > 100 and money <= 500:
    print('我的存款超过了100万,买宝马!')
elif money > 10 and money <= 100:
    print('我的存款超过了10万,买福特')
elif money > 0 and money <= 10:
    print('我的存款10万以下 ,买比亚迪')
—— 我在银行有多少存款(万)?501
   我的存款超过了500万,买路虎!

【课堂练习】输入小明的考试成绩,显示所获奖励

# 要求:
# 成绩==100分,爸爸给他买辆车
# 成绩>=90分,妈妈给他买MP4
# 90分>成绩>=60分,妈妈给他买本参考书
# 成绩<60分,什么都不买

grade = int(input('小明的考试成绩为:'))
if grade == 100:
    print('爸爸给他买辆车')
elif grade >= 90 and grade < 100:
    print('妈妈给他买MP4')
elif grade >= 60 and grade <90:
    print('妈妈给他买本参考书')
elif grade >= 0 and grade < 60:
    print('买买买,吔屎啦你')
—— 小明的考试成绩为:59
    买买买,吔屎啦你

【练习】不知为啥要带小刀去见梁非凡???细思极恐..

chePiao = 1
# chePiao = 0
knife_length = 9
if chePiao == 1:    # 1代表有车票,0代表没车票
    print('有车票了,可以上火车')
    if knife_length < 10:
        print('通过安检')
        print('终于可以见到梁非凡了,嘻嘻嘻~~~')
    else:
        print('没通过安检')
        print('oh my god,刀子超过规定长度,等待警察处理')
else:
    print('没车票,不可以上火车')
    print('呜呜呜,只能下一次再见面了,一票难求吖!')
—— 有车票了,可以上火车
   通过安检
   终于可以见到梁非凡了,嘻嘻嘻~~~
   (其他情况略)

【练习】请输入飞船系统启动的语音命令(雷神3中)

voice = input('Welcome. Voice activation required:')
if voice == 'Banner':
    print('Welcome, strongest Avenger.')
elif voice == 'Point Break':
    print('Welcome, Point Break.')
else:
    print('Access denied')
—— Welcome. Voice activation required:Thor
Access denied
Welcome. Voice activation required:Thor, son of Odin.
Access denied
Welcome. Voice activation required:God of Thunder
Access denied
Welcome. Voice activation required:Strongest Avenger
Access denied
Welcome. Voice activation required:Point Break
Welcome, Point Break.
Welcome. Voice activation required:Banner
Welcome, strongest Avenger.
Voice activation required.png

【练习】人机猜拳游戏(详细趣味版)

# 要求:
# 键盘输入,剪刀(0),石头(1),布(2)
# 电脑随机生成一个数,范围为[0, 2]
# 判断玩家和电脑猜拳输赢的情况,并且给予显示
from random import randint
operation = 'yes'
while operation == 'yes':
    my_finger = input('听说挺厉害的,我要跟你单挑猜拳,请输入你的出拳(0为剪刀,1为石头,布为2):')
    if my_finger in ['0', '1', '2']:
        my_finger = int(my_finger)
        computer_finger = randint(0, 2)

        print('********数据正在处理中********')
        my_finger_ChineseDisplay = ''
        computer_finger_ChineseDisplay = ''
        if my_finger == 0:
            my_finger_ChineseDisplay = '剪刀'
        elif my_finger == 1:
            my_finger_ChineseDisplay = '石头'
        elif my_finger == 2:
            my_finger_ChineseDisplay = '布'

        if computer_finger == 0:
            computer_finger_ChineseDisplay = '剪刀'
        elif computer_finger == 1:
            computer_finger_ChineseDisplay = '石头'
        elif computer_finger == 2:
            computer_finger_ChineseDisplay = '布'

        print('你的出拳为{}-{}'.format(my_finger, my_finger_ChineseDisplay))
        print('我的出拳为{}-{}'.format(computer_finger, computer_finger_ChineseDisplay))

        if my_finger == computer_finger:
            print('平局!小伙子,看来你挺厉害的!')
            print('可我不服,再来!')
            operation = 'yes'
            print('--------------------------------------')
        elif my_finger > computer_finger:
            if (my_finger - computer_finger) == 1:
                print('呵呵,你竟然赢了!')
                print('给我等着,我一定会回来的!')
                operation = 'no'
                break
            else:
                print('哦豁,你输了!老弟,你是怎么回事?')
                print('要不再来一局?')
                operation = 'yes'
                print('--------------------------------------')
        elif my_finger < computer_finger:
            if (computer_finger - my_finger) == 1:
                print('哦豁,你输了!老弟,你是怎么回事?')
                print('要不再来一局?')
                operation = 'yes'
                print('--------------------------------------')
            else:
                print('呵呵,你竟然赢了!')
                print('给我等着,我一定会回来的!')
                operation = 'no'
                break
    else:
        print('请输入0或1或2!')

详细趣味版猜拳效果如下:


【练习】人机猜拳游戏(简短版)

from random import randint
while True:
    player = input('剪刀[0],石头[1],布[2]:')
    computer = randint(0, 2)
    if (player == 0 and computer == 2)or(player == 1 and computer == 0)or(player == 2 and computer == 1):
        print('这是高手,你赢了。')
        break
    elif player == computer:
        print('哈哈,平局呃,要不再来一局?')
    else:
        print('你输了,不要走,洗洗手,决战到天亮。')

简短版猜拳效果如下:

剪刀[0],石头[1],布[2]:0
哈哈,平局呃,要不再来一局?
剪刀[0],石头[1],布[2]:0
哈哈,平局呃,要不再来一局?
剪刀[0],石头[1],布[2]:0
你输了,不要走,洗洗手,决战到天亮。
剪刀[0],石头[1],布[2]:0
这是高手,你赢了。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,366评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,521评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,689评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,925评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,942评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,727评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,447评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,349评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,820评论 1 317
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,990评论 3 337
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,127评论 1 351
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,812评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,471评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,017评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,142评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,388评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,066评论 2 355

推荐阅读更多精彩内容

  • ​ 要求他人的帮助是很自然的事情,但是无论如何,他能告诉你一件事情或由你自己去了解一件事情,在本质上是不相同的。了...
    菜问妈妈阅读 551评论 0 0
  • 关于减肥我只想说:“肥肉你好,我不能再让你伴随着我走下去了,虽然你伴随我二十多年了,见证了我那么多难以...
    奔跑的喇叭花阅读 93评论 0 0
  • 今天,阅读《说服》利用相似性的微妙力量。结合今天的培训,又了解进一步成交客户的微妙之处或许也是促进成交的绝好办法。...
    一张笑脸萌萌哒阅读 179评论 0 0
  • 把所有小心思都收起来,放在一件事上!
    tedychen阅读 95评论 0 0