习题27:if和else

1 你认为if对于它下一行的代码做了什么?

if语句为代码创建了一个所谓的"分支",就跟RPG游戏中的情节分支一样,if语句告诉你的脚本:“如果这个布尔表达式为真,就运行接下来的代码,否则就跳过这一段”

2 为什么if语句的下一行需要4个空格的缩进?

行尾的冒号的作用是告诉python接下来你要创建一个新的代码区段,这跟创建函数的冒号是一个道理

3 如果不缩进,会发生什么事情?

如果你没有缩进,应该会看到python报错,python规则里,只要一行以“冒号”:结尾,它接下来的内容就应该有缩进

4 把习题27中的其它布尔表达式放到if语句中会不会也可以运行呢?

可以,而且不管多复杂都可以,虽然写复杂的东西通常是一种不好的编程风格

5 如果把变量people,cats和dogs的初始值改掉,会发生什么事情?

因为你比较的对象是数字,如果你把这些数字改掉的话,某些位置的if语句会被演绎为True,而它下面的代码区段将被运行

练习代码如下:

# coding: utf-8
__author__ = 'www.py3study.com'
people = 30
cars = 40
buses = 15
if cars > people:
    print("We should take the cars.")
elif cars < people:
    print("We should not take the cars.")
else:
    print("We can't decide.")

if buses > cars:
    print("That's too many buses.")
elif buses < cars:
    print("Maybe we could take the buses.")
else:
    print("We still can't decide.")

if people > buses:
    print("Alright, let's just table the buses.")
else:
    print("Fine,let's stay home then.")

应该看到的结果

C:\python\python.exe E:/test/lianxi_27.py We should take the cars. Maybe we could take the buses. Alright, let's just table the buses.

常见问题

如歌多个elif区块都是True,python会如何处理?

python只会运行它碰到True的第一个区块,所以只有第一个为True的区块会被运行

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏达摩兵的技术空间

浅浅的分析下es6箭头函数

箭头函数作为es6重点的语法内容之一,很多开发者对其爱不释手,当也要注意其可能存在的问题,其正确的使用场景,否则会引起不必要的bug。

601
来自专栏java一日一条

19 个 JavaScript 编码小技巧

这篇文章适合任何一位基于JavaScript开发的开发者。我写这篇文章主要涉及JavaScript中一些简写的代码,帮助大家更好理解一些JavaScript的基...

1014
来自专栏C/C++基础

C++智能指针

C++中,动态内存的管理是通过一对运算符来完成的,new用于申请内存空间,调用对象构造函数初始化对象并返回指向该对象的指针。delete接收一个动态对象的指针,...

2711
来自专栏PPV课数据科学社区

【学习】数据分析师的Python日记-第1天:谁来给我讲讲Python?

今天带来的是PYTHON,这是一篇非常有意思的文章。希望对大家有帮助。 ---- ---- 导语:或许是网上嘈嘈杂杂的关于大数据、互联网的新形势争论,或许是招聘...

2129
来自专栏『不羁阁』 | 行走少年郎专栏

OC知识--彻底理解内存管理(MRC、ARC)

3116
来自专栏龙首琴剑庐

Java总论及三大特性理解

1、对象(object)     万物皆为对象(根类Object类)。     程序是对象的集合(面向对象程序设计语言OOP)。     每个对象都有自己的由其...

3056
来自专栏java学习

Java每日一练(2017/7/18)

新通知 ●回复"每日一练"获取以前的题目! ●【新】Ajax知识点视频更新了!(回复【学习视频】获取下载链接) ●【新】HTML5知识点视频更新了!(回复【前端...

35510
来自专栏xingoo, 一个梦想做发明家的程序员

《JavaScript语言精粹》—— 读书总结

话说这本书还是同学的推荐才读的,之前感觉这本书太薄了,不值得看,没想到小身材有大智慧,书中的内容总结的还是很到位的!所以就把最后几章,精华的部分整理整理。 优...

2779
来自专栏C语言及其他语言

[每日一题]字符串的连接

上一次是要反序输出字符串,而这次是要连接两个字符串,难度都不大,快来试试吧! 题目描述 写一函数,将两个字符串连接 输入 两行字符串 输出 链接后的字符串 样...

3166
来自专栏java一日一条

各大排序算法的Objective-C实现以及图形化演示比较

插入排序是从一个乱序的数组中依次取值,插入到一个已经排好序的数组中。 这看起来好像要两个数组才能完成,但如果只想在同一个数组内排序,也是可以的。此时需要想象出两...

1033

扫码关注云+社区

领取腾讯云代金券