《笨办法学 python3》系列练习计划——29.如果 if

题目

本题没什么说的,直接开练就是了。

加分练习

猜一猜 “if 语句” 是什么,他有什么作用。在做下一道题之前,试着用自己的话回答下面的问题:

  1. 你认为 if 对他下一行代码做了什么?
  2. 为什么 if 语句的下一行需要 4 个空格缩进?
  3. 如果不缩进,会发生什么事情?
  4. 把练习 27 中的其它布尔表达式放到 if 语句中会不会也可以运行呢?试一下。
  5. 如果把变量 peoplecatsdogs 的初始值改掉,会发生什么事情?




我的答案

29.0 基础练习
people = 20
cats = 30
dogs = 15


if people < cats:
    print("Too many cats! The world is doomed!")

if people > cats:
    print("Not many cats! The world is saved!")

if people < dogs:
    print("The world is drooled on!")

if people > dogs:
    print("The world is dry!")

dogs += 5

if people >= dogs:
    print("People are greater than or equal to dogs.")

if people <= dogs:
    print("People are less than or equal to dogs.")

if people == dogs:
    print("People are dogs.")

从打字上来说这一题挺简单的,不过重点在于理解 if 语句的使用。跑一下结果如下。
这里写图片描述

29.1 if 语句的作用

分析一下前四段 if 语句可以发现 if 语句的作用

  • if 语句会根据其中语句的布尔值(True、False)影响其下一行代码是否执行。
  • 如果是真 (if something Ture),就执行下面的代码。否则不执行。
29.2 为什么 if 语句下面一行的代码需要 4 个空格? + 29.3 如果不缩进会怎样?

这和我们在函数里面遇到的情况一样,4 个空格表示了哪些代码属于此条 if 语句。

a = 1
b = 2
c = 3

if a < b:
    print("这是第一行")
    print("这是第二行")
    if c < a:
        print("这是第三行")
    print("这是第四行")
print("这是第五行")

print("-" * 10)
print("反过来条件试一下")

if a > b:
    print("这是第一行")
    print("这是第二行")
    if c > a:
        print("这是第三行")
    print("这是第四行")
print("这是第五行")

这里写图片描述
可以看到,没有缩进的第五行是不受 if 语句影响的,而在缩进中的部分是否执行则在于 if 语句的真伪。

29.4 把 27 题改 if 语句
print("Is 'not False' True?")
if not False:
    print("Yes! is True!")

print("\n------------------------")
print("Is 'not True' True?")
if not True:
    print("Yes! is True!")


print("\n------------------------")
print("Is 'True or True' True?")
if True or True:
    print("Yes! is True!")


print("\n------------------------")
print("Is 'True or False' True?")
if True or False:
    print("Yes! is True!")


print("\n------------------------")
print("Is 'False or True' True?")
if False or True:
    print("Yes! is True!")


print("\n------------------------")
print("Is 'False or False' True?")
if False or False:
    print("Yes! is True!")


print("\n------------------------")
print("Is 'True and True' True?")
if True and True:
    print("Yes! is True!")


print("\n------------------------")
print("Is 'True and False' True?")
if True and False:
    print("Yes! is True!")


print("\n------------------------")
print("Is 'False and True' True?")
if False and True:
    print("Yes! is True!")


print("\n------------------------")
print("Is 'False and False' True?")
if False and False:
    print("Yes! is True!")


print("\n------------------------")
print("Is 'not (True or True)' True?")
if not (True or True):
    print("Yes! is True!")


print("\n------------------------")
print("Is 'not (True or False)' True?")
if not (True or False):
    print("Yes! is True!")


print("\n------------------------")
print("Is 'not (False or True)' True?")
if not (False or True):
    print("Yes! is True!")


print("\n------------------------")
print("Is 'not (False or False)' True?")
if not (False or False):
    print("Yes! is True!")


print("\n------------------------")
print("Is 'not (True and True)' True?")
if not (True and True):
    print("Yes! is True!")


print("\n------------------------")
print("Is 'not (True and False)' True?")
if not (True and False):
    print("Yes! is True!")


print("\n------------------------")
print("Is 'not (False and True)' True?")
if not (False and True):
    print("Yes! is True!")


print("\n------------------------")
print("Is 'not (False and False)' True?")
if not (False and False):
    print("Yes! is True!")


print("\n------------------------")
print("Is '1 != 1' True?")
if 1 != 1:
    print("Yes! is True!")


print("\n------------------------")
print("Is '1 != 0' True?")
if 1 != 0:
    print("Yes! is True!")


print("\n------------------------")
print("Is '0 != 1' True?")
if 0 != 1:
    print("Yes! is True!")


print("\n------------------------")
print("Is '0 != 0' True?")
if 0 != 0:
    print("Yes! is True!")


print("\n------------------------")
print("Is '1 == 1' True?")
if 1 == 1:
    print("Yes! is True!")


print("\n------------------------")
print("Is '1 == 0' True?")
if 1 == 0:
    print("Yes! is True!")


print("\n------------------------")
print("Is '0 == 1' True?")
if 0 == 1:
    print("Yes! is True!")


print("\n------------------------")
print("Is '0 == 0' True?")
if 0 == 0:
    print("Yes! is True!")

返回目录

《笨办法学 python3》系列练习计划——目录

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
本书是一本Python入门书籍,适合对计算机了解不多,没有过编程,但对编程感兴趣的读者习使用。这本书以习题的方式引导读者一步一步习编程,从简单的打印一直讲到完整项目的实现,让初者从基础的编程技术入手,最终体验到软件开发的基本过程。 本书结构非常简单,共包括52个习题,其中26个覆盖了输入/输出、变量和函数三个主题,另外26个覆盖了一些比较高级的话题,如条件判断、循环、类和对象、代码测试及项目的实现等。每一章的格式基本相同,以代码习题开始,按照说明编写代码,运行并检查结果,然后再做附加练习。 Zed Shaw完善了这个堪称世上最好的Python习系统。只要跟着习,你就会和迄今为止数十万Zed教过的初者一样获得成功。 在这本书中,你将通过完成52个精心设计的习题来Python。阅读这些习题,把习题的代码精确地写出来(禁止复制和粘贴!),修正你的错误,观察程序的运行。在这个过程中,你将了解软件是如何工作的,好的程序看起来是什么样子,怎样阅读、编写、思考代码,以及如何用专业程序员的技巧来找出并修正错误。最重要的是,你将到下面这些编写优秀的Python软件必需的初始技能。 这本书会让你的每一分钟投入都有回报。Python是世界上最强大、最受欢迎的编程语言之一,很快你就会成为一名Python程序员。 你还可以看Zed的视频!随书附赠的DVD中包含5个多小时激情挥洒的教内容:一部完整的Python视频教程!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值