python入门(11)条件判断和循环

python入门(11)条件判断和循环

条件判断

计算机之所以能做很多自动化的任务,因为它可以自己做条件判断。

比如,输入用户年龄,根据年龄打印不同的内容,在Python程序中,用if语句实现:

age = 20
if age >= 18:
    print ‘your age is‘, age
    print ‘adult‘

根据Python的缩进规则,如果if语句判断是True,就把缩进的两行print语句执行了,否则,什么也不做。

也可以给if添加一个else语句,意思是,如果if判断是False,不要执行if的内容,去把else执行了:

age = 3
if age >= 18:
    print ‘your age is‘, age
    print ‘adult‘
else:
    print ‘your age is‘, age
    print ‘teenager‘

注意不要少写了冒号:

当然上面的判断是很粗略的,完全可以用elif做更细致的判断:

age = 3
if age >= 18:
    print ‘adult‘
elif age >= 6:
    print ‘teenager‘
else:
    print ‘kid‘

elifelse if的缩写,完全可以有多个elif,所以if语句的完整形式就是:

if <条件判断1>:
    <执行1>
elif <条件判断2>:
    <执行2>
elif <条件判断3>:
    <执行3>
else:
    <执行4>

if语句执行有个特点,它是从上往下判断,如果在某个判断上是True,把该判断对应的语句执行后,就忽略掉剩下的elifelse,所以,请测试并解释为什么下面的程序打印的是teenager

age = 20
if age >= 6:
    print ‘teenager‘
elif age >= 18:
    print ‘adult‘
else:
    print ‘kid‘

if判断条件还可以简写,比如写:

if x:
    print ‘True‘

只要x是非零数值、非空字符串、非空list等,就判断为True,否则为False

循环

Python的循环有两种,一种是for...in循环,依次把list或tuple中的每个元素迭代出来,看例子:

names = [‘Michael‘, ‘Bob‘, ‘Tracy‘]
for name in names:
    print name

执行这段代码,会依次打印names的每一个元素:

Michael
Bob
Tracy

所以for x in ...循环就是把每个元素代入变量x,然后执行缩进块的语句。

再比如我们想计算1-10的整数之和,可以用一个sum变量做累加:

sum = 0
for x in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]:
    sum = sum + x
print sum

如果要计算1-100的整数之和,从1写到100有点困难,幸好Python提供一个range()函数,可以生成一个整数序列,比如range(5)生成的序列是从0开始小于5的整数:

>>> range(5)
[0, 1, 2, 3, 4]

range(101)就可以生成0-100的整数序列,计算如下:

sum = 0
for x in range(101):
    sum = sum + x
print sum

请自行运行上述代码,看看结果是不是当年高斯同学心算出的5050。

第二种循环是while循环,只要条件满足,就不断循环,条件不满足时退出循环。比如我们要计算100以内所有奇数之和,可以用while循环实现:

sum = 0
n = 99
while n > 0:
    sum = sum + n
    n = n - 2
print sum

在循环内部变量n不断自减,直到变为-1时,不再满足while条件,循环退出。

再议raw_input

最后看一个有问题的条件判断。很多同学会用raw_input()读取用户的输入,这样可以自己输入,程序运行得更有意思:

birth = raw_input(‘birth: ‘)
if birth < 2000:
    print ‘00前‘
else:
    print ‘00后‘

输入1982,结果却显示00后,这么简单的判断Python也能搞错?

当然不是Python的问题,在Python的交互式命令行下打印birth看看:

>>> birth
‘1982‘
>>> ‘1982‘ < 2000
False
>>> 1982 < 2000
True

原因找到了!原来从raw_input()读取的内容永远以字符串的形式返回,把字符串和整数比较就不会得到期待的结果,必须先用int()把字符串转换为我们想要的整型:

birth = int(raw_input(‘birth: ‘))

再次运行,就可以得到正确地结果。但是,如果输入abc呢?又会得到一个错误信息:

Traceback (most recent call last):
  ...
ValueError: invalid literal for int() with base 10: ‘abc‘

原来int()发现一个字符串并不是合法的数字时就会报错,程序就退出了。

如何检查并捕获程序运行期的错误呢?后面的错误和调试会讲到。

小结

条件判断可以让计算机自己做选择,Python的if...elif...else很灵活。

循环是让计算机做重复任务的有效的方法,有些时候,如果代码写得有问题,会让程序陷入“死循环”,也就是永远循环下去。这时可以用Ctrl+C退出程序,或者强制结束Python进程。

请试写一个死循环程序。

时间: 2024-11-07 00:35:52

python入门(11)条件判断和循环的相关文章

python基础知识--条件判断和循环

一.输入输出 python怎么来接收用户输入呢,使用input函数,python2中使用raw_input,接收的是一个字符串,输出呢,第一个程序已经写的使用print,代码入下: 1 name=input('Please enter your name:') #把接收到的值赋给name变量 2 print(name)#输出接收到的输入 input在接收输入的时候,是可以看到你输入的值的,如果是输入密码这样的呢,不想让别人看到你的密码,怎么办呢,就需要用到一个标准库,getpass,什么是标准库

python基础之条件判断和循环

1.条件判断 age = 3 if age >= 18: print('adult') elif age >= 6: print('teenager') else: print('kid') elif是else if的缩写,完全可以有多个elif. 2.循环 python循环有两种, 一种是for...in循环,依次把list或者tuple中的每个元素迭代出来. names = ["geg","gege","geege"]; for

Python 基础之三条件判断与循环

If……else 基本结构: If condition: do something else: do something 或者 If condition: do something elif condition: do something else: do something Python 通过缩进来确定一段代码的作用域,同一级别的代码缩进要保持一致,官方建议是4个空格. 提示:IndentationError,都为代码中存在缩进错误. 小练习: # 猜luck number,n=6 # 猜的数

python之--条件判断和循环

Python之判断 和其他语言一样,python同样具有条件判断和循环的操作,比如我们可以编写一个简单的判断操作:使用if关键字可以达到判断的效果,如下例: 1 >>> test_if = raw_input() 2 50 3 >>> if test_if < 50: 4 ... print "you are so yamg" 5 ... else: 6 ... print "you are so old!" 7 ... 8

python10:条件判断和循环

程序不总是顺序执行的,所以需要条件控制语句来支持分支处理,循环来处理反复多次调用.下面将减少python中的条件判断和循环语法. 条件判断 条件判断就是当某个条件为真时执行某个程序片段,否则执行另一个. >>> x = int(input("Please enter an integer: ")) Please enter an integer: 2 >>> if x < 0: x = 0 print('Negative changed to

Python条件判断和循环

一.Python 之 if条件判断 语句 (1).Python 之 if--if语句后面接表达式,然后用 : 表示代码开始           注意: Python代码的缩进规则.缩进要严格按照Python的习惯用法:4个空格,不要使用TAb,更不要混合Tab和空格,否则很容易造成因为缩进引起的语法错误.          如果你在Python交互环境下敲代码,还要特别留意缩进,并且退出缩进需要多敲一行回车:    >>> age = 20 >>> if age >

Python_条件判断和循环

条件判断和循环 author:lxy 条件判断让计算机自己选择做什么 循环让计算机做重复的工作 条件判断: if ...elif....else.... if <判断条件>: <语句块> elif <判断条件>: <语句块> else: <语句块> 说明: 用法感觉和Java没什么不同吧,除了语法写起来有限不一样 注意每一个判断条件之后和else加: elif 是else if是简写 判断条件可以简写,比如if x:只要x是非零数值.飞空字符串.

条件判断及循环

什么是语句? 每一个代码,都是一个语句. 最基本的语句:赋值语句.运行函数(方法) 条件语句:if 循环语句:for.while循环,遍历系列.字典等 函数语句:def函数等 模块语句:import if 语句 if语句必须有冒号: 自动缩进 if语句写完后,要退回原有缩进继续写 python代码缩减规则:具有相同缩进的代码被视为代码块 输入函数:input() if-else 存在两种不同情况 elif 多条件判断 for 循环 遍历循环 for i in XXX 嵌套循环 for i in

Sass学习笔记 -- 初步了解函数、运算、条件判断及循环

函数 sass定义了很多函数可供使用,当然你也可以自己定义函数,以@fuction开始.sass的官方函数链接为:sass fuction,实际项目中我们使用最多的应该是颜色函数,而颜色函数中又以lighten减淡和darken加深为最,其调用方法为lighten($color,$amount)和darken($color,$amount),它们的第一个参数都是颜色值,第二个参数都是百分比. //scss $baseFontSize:      10px !default; $gray: