python编程入门 适合于零基础朋友-[零基础学python]复习if语句
看官是否记得,在上一部分的时候,有一讲专门介绍if语句的:从if开始语句的征程。在学习if语句的时候,对python编程的基础知识了解的还不是很多,或许没有做什么太复杂的东西。本讲,要对它进行一番复习,通过复习提高一下。如果此前有的东西忘记了,建议首先回头,看看前面那讲。
基本语句结构
if 判断条件1:
执行语句1……
elif 判断条件2:
执行语句2……
elif 判断条件3:
执行语句3……
else:
执行语句4……
只有当"判断条件”的值是True的时候,才执行下面的执行语句。
那么,在python中,怎么知道一个判断条件是不是真呢?这个问题我们在眼花缭乱的运算符中已经讲解了一种数据类型:布尔类型。可以通过一个内置函数bool()来判断一个条件的结果True还是False。看看下面的例子,是不是能够理解bool()的判断规则?
>>> bool("")
False
>>> bool(0)
False
>>> bool('none')
True
>>> bool(False)
False
>>> bool("False")
True
>>> bool(True)
True
>>> bool("True")
True
>>> bool(3>4)
False
>>> bool("b">"a")
True
>>> bool(not "")
True
>>> bool(not True)
False
忘记了怎么办?看下面的语句:
if 忘记:
复习-->眼花缭乱的运算符一讲
在执行语句中,其实不一定非要把bool()写上的。如同这样:
>>> x = 9
>>> if bool(x>7): #条件为True则执行下面的
... print "%d more than 7"%x
... else:
... print "%d not more than 7"%x
...
9 more than 7
>>> if x>7:
... print "%d more than 7"%x
... else:
... print "%d not more than 7"%x
...
9 more than 7
以上两个写法是等效的,但是,在实际的编程中,我们不用if bool(x>7)的格式,而是使用if x>7的样式,还要特别提醒,如果写成if (x>7),用一个括号把条件表达式括起来,是不是可以呢?可以,但也不是python提倡的。
>>> if (x>7): #不提倡这么写,这不是python风格
... print "%d more than 7"%x
...
9 more than 7
拉出来溜溜
平时总有人在不服气的时候说"是骡子是马,拉出来溜溜”,赵本山有一句名言"走两步”。其本质都是说"光说不练是假把式”。今天收到一个朋友的邮件,也询问,在学习python的时候,记不住python的内容。其实不用记,我在前面的课程中已经反复讲过了。但是,在应用中,会越来越熟练。
下面就做一个练习,要求是:
接收任何字符和数字的输入
判断输入的内容,如果不是整数是字符,就告诉给用户;如果是小数,也告诉用户
如果输入的是整数,判断这个整数是奇数还是偶数,并且告诉给用户
在这个练习中,显然要对输入的内容进行判断,以下几点需要看官注意:
通过raw_input()得到的输入内容,都是str类型
要判断一个字符串是否是由纯粹数字组成,可以使用str.isdigit()(建议看官查看该内置函数官方文档)
下面的代码是一个参考:
#! /usr/bin/env python
#coding:utf-8
print "请输入字符串,然后按下回车键:"
user_input = raw_input()
result = user_input.isdigit()
if not result:
print "您输入的不完全是数字"
elif int(user_input)%2==0:
print "您输入的是一个偶数"
elif int(user_input)%2!=0:
print "您输入的是一个奇数"
else:
print "您没有输入什么呢吧"
特别提醒列为,这个代码不是非常完善的,还有能够修改的地方,看官能否完善之?
再来一个如何?
已知一个由整数构成的list,从中跳出奇数和偶数,并且各放在一个list中。
请看官在看下面的参考代码之前,自己写一写。
#!/usr/bin/env python
#coding:utf-8
import random
numbers = [random.randint(1,100) for i in range(20)] #以list解析的方式得到随机的list
odd = []
even = []
for x in numbers:
if x%2==0:
even.append(x)
else:
odd.append(x)
print numbers
print "odd:",odd
print "even:",even
用这个例子演示一下if在list解析中的应用。看能不能继续改进一些呢?
可以将循环的那部分用下面的list解析代替
#!/usr/bin/env python
#coding:utf-8
import random
numbers = [random.randint(1,100) for i in range(20)] #以list解析的方式得到随机的list
odd = [x for x in numbers if x%2!=0]
even = [x for x in numbers if x%2==0]
print numbers
print "odd:",odd
print "even:",even
一个有趣的赋值
对赋值,看官应该比较熟悉了吧,如果要复习,请看《[赋值,简单也不简单]》(./127.md)以及《[正规地说一句]》(./201.md)的相关内容。
这里说的有趣赋值是什么样子的呢?请看:
>>> name = "qiwsir" if "laoqi" else "github"
>>> name
'qiwsir'
>>> name = 'qiwsir' if "" else "python"
>>> name
'python'
>>> name = "qiwsir" if "github" else ""
>>> name
'qiwsir'
总结一下:A = Y if X else Z
什么意思,结合前面的例子,可以看出:
如果X为真,那么就执行A=Y
如果X为假,就执行A=Z
再看看上面的例子,是不是这样执行呢?
if语句似乎简单,但是在编程时间中常用到。勤加练习吧。
有朋友需要看完整教程内容,请点击:零基础学python,这里会及时更新,并且有完整的目录结构,更吸纳了朋友们提出的意见和建议。
python编程入门 适合于零基础朋友-[零基础学python]复习if语句相关推荐
- Python编程入门:教你在mac下如何搭建python开发环境
以前的Python编程入门教程中有跟大家说过一般情况下如何搭建Python开发环境,有很多伙伴说那么mac的该如何操作呢?今天就跟大家出一期针对mac搭建Python开发环境的操作方法!有需要的伙伴可 ...
- python编程入门 适合于零基础朋友-零基础能学好python吗?教女朋友学python是送命题吗?...
python近年来的风靡程度就不用小编多说了,大家伙儿都知道,也都想来蹭蹭热度,但蹭着蹭着蹭出问题了:教女朋友学python是送命题吗?教女朋友学python是送命题吗? 近期,网友提出的" ...
- python编程入门 适合于零基础朋友-Python不能帮你找到女朋友,却能让你成为有钱的单身狗。...
原标题:Python不能帮你找到女朋友,却能让你成为有钱的单身狗. 王者荣耀的团队年终奖是100个月工资.华为的员工房租补贴就有8000块.BAT校招起步价年薪20万--如果你看到这些消息的第一反应就 ...
- python编程入门 适合于零基础朋友-《从零开始学 Python》(第二版)
老齐 · 更新于 2018-11-28 11:00:43 <零基础学 Python>(第二版) Python 是一种面向对象.解释型计算机程序设计语言,由 Guido van Rossum ...
- 跟老齐学python从入门到精通mobi_《跟老齐学Python:从入门到精通》齐伟(编著)epub+mobi+azw3...
内容简介 <跟老齐学Python:从入门到精通>是面向编程零基础读者的Python入门教程,内容涵盖了Python的基础知识和初步应用.以比较轻快的风格,向零基础的学习者介绍一门时下比较流 ...
- 从零开始学习python编程-和尧名大叔一起从0开始学Python编程-循环
0基础自学编程是很痛苦的一件事情,所以我想把自己学习的这个过程记录下来,让想学编程的人少走弯路,大叔文化程度较低,可能会犯一些错误,欢迎大家督促我. 今天,我们来学习一下程序里面的循环,循环是个什么意 ...
- Python编程入门系列课程
原文:https://mc.dfrobot.com.cn/thread-309195-1-1.html Python编程入门系列课程--教程目录: Python编程入门系列课程--01 智能绘星 Py ...
- 学习python一开始枯燥_编程零基础应当怎样开始学python?他说,看这三个经典方法...
很多时候,想就是不如做. 与其想着怎样开始学python,不如赶紧找份python教程先看起来! 当然,这只是告诉你,想不如开始做! 下面,我针对python初学介绍一下可以借鉴的方法! 1.看书 这 ...
- 入门Python难不难?零基础到底要怎么学Python?
近几年的Python编程发展得非常好,又因为人工智能的发展而发展.入门Python难不难?零基础到底要怎么学Python?本文,小分享入门Python需要掌握的知识. 1.数据库:Python在数据库 ...
最新文章
- 【C 语言】数组 ( 多维数组操作模型 | 取某个数组元素地址 | 取某个数组元素值 )
- python读取nc文件转成img_使用python的netCDF4库读取.nc文件 和 创建.nc文件[转]
- 安装bashee-1-1.2.1.tar.bz2多媒体播放器时的出错问题
- linux怎么看文件状态,linux查看文件类型-file、状态-stat
- 隐马尔可夫模型(五)——隐马尔可夫模型的解码问题(维特比算法)
- MySQL灾备恢复在线主从复制变成主主复制及多源复制【转】
- BZOJ 3509 分块FFT
- 人工智能+眼科疾病辅助诊断(相关信息搜集)
- 【读书笔记】《软件方法(上)业务建模和需求》(第2版)习题答案
- A better zip bomb,比例28000000:1「V2」
- 一条让人不安的坐地龙
- IBM李永辉:从人工智能到大数据的终点
- win10开机自启动在哪里设置(Win10设置开机自启动)
- chrome.exe(或其他exe)- 损坏的映像
- leaflet 加载天地图
- 专访黄文斌丨中专文凭的他,辞掉了9年的国企“铁饭碗”
- 怎么找国外客户啊?(外贸实战高手解析)
- Java实现第九届蓝桥杯快速排序
- Cadence IC 617 虚拟机添加工艺库教程
- Web3时代加密元宇宙才是唯一可行的道路
热门文章
- VS2015+OpenCV3.4.5+QT5.12+WINDOWS10用c++调用tensorflow训练好的.pb文件图像检测
- npm 发布一个全局的指令
- Python编程中报过的错
- MongoDB可视化工具RoboMongo----Windows安装
- JavaScript基础和记背内容 Day1
- 寒假作业3(传说中的写软件)
- 在装有windows跟ubuntu的机器上重新安装windows后修复ubuntu的grub
- SVN ---文件加锁,执行clean up命令
- ASP.NET MVC3+EF4+Oracle入门实例(一)
- dts无法识别excel中的数字值?