python中的判断和循环语句
一 if判断语句
1)if的语法
if 要判断的条件:
条件成立的时候,要做的事情
.....
elif 条件2:
.....
else:
条件不成立的时候,要做的事情
.....
elif和else都必须和if联合使用,不能单独使用
if的编程练习
输入年、月,输出本月有多少天。合理选择分支语句完成设计任务。 输入样例1:2004 2 输出结果1:本月29天 输入样例2:2010 4 输出结果2:本月30天
2)if的嵌套
if 条件1:
条件1满足执行的代码
.....
if 满足条件1的基础上的条件2
.....
else:
# 条件1不满足的情况下
else:
条件1不满足时,执行的代码
....
3)if的综合练习(猜拳游戏)
1 首先插入python的随机数模块
导入模块后,可以直接在模块名称后面敲一个.然后Tab键,会提示该模块中包含的所有函数
random.randint(a,b),返回[a b]之间的整数,包含a和b
eg: random.randint(12,20):生成随机数n: 12 <= n <= 20
random.randint(20,20): 结果永远是20
random.randint(20,12):结果会报错:下限必须小于上限
注意:在导入工具包的时候,应该将导入的语句,放在文件的顶部。因为,这样可以方便下方的代码,在任何需要的时候,使用工具包中的工具。
2 代码展示
import random
# 1.从控制台输入要出的拳(石头1/剪刀2/布3)
player = int(raw_input('请输入您要出的拳:石头1/剪刀2/布3:'))
# 2.电脑出拳
computer = random.randint(1,3)
print computer
# 3.比较胜负
"""
石头胜剪刀
剪刀胜布
布胜石头
"""
if ((player == 1 and computer == 2)
or (player == 2 and computer == 3) \
or (player == 3 and computer == 1)):
print '玩家胜利了~'
elif player == computer:
print '平局'
else:
print '玩家输了~'
二 while的循环
1)while 的语法
while 条件():
条件满足时,做的事情1
条件满足时,做的事情2
......
2)定义死循环
# 定义死循环
while True:
print 'hello python'
3)while的循环计数
循环计算
在程序开发中,通常会遇到利用循环重复计算的需求(利用CPU的强大之处 完成相应的复杂计算)
遇到这种情况:
1.在while上方定义一个变量,用于存放最终的计算结果
2.在循环体内部,每次循环都用最新的计算结果,更新之前定义的变量
常见的计数方法有两种,可以分为
自然计数法(从1开始) -- 更符合人类的习惯
程序计数法(从0开始) -- 几乎所有的程序语言都选择从0开始计数
因此,在编写程序时,应该尽量养成习惯:除非需求的特殊要求,否则循环的计数从0开始
4)while的嵌套
变量1
while 条件1
变量2
while 条件2
满足条件2的条件
满足条件1条件
5)while ... break
break: 某一条件满足的时候,退出循环,不再执行后续重复的代码
在循环体内部,我们可以增加额外的条件,在需要的时候,跳出整个循环
6)while...continue
continue:某一条件满足的时候,不执行后续重复的代码,其他条件都要执行
# continue:继续,持续:让我们的代码遇到continue关键字的时候
# 继续到 循环的那一条语句中去
三 for循环
1)for循环的语法
for 变量 in range(10):
循环需要执行的代码
2)range的用法
range(stop): 0~stop 1
range(start,stop):start-stop 1
range(start,stop,step): start~stop step(步长)
In [1]: range(5)
Out[1]: [0, 1, 2, 3, 4]
In [2]: range(7)
Out[2]: [0, 1, 2, 3, 4, 5, 6]
In [3]: range(1,10)
Out[3]: [1, 2, 3, 4, 5, 6, 7, 8, 9]
拿出1~10之间的所有奇数
In [5]: range(1,11,2)
Out[5]: [1, 3, 5, 7, 9]
拿出1~10之间的所有偶数
In [6]: range(2,11,2)
Out[6]: [2, 4, 6, 8, 10]
In [7]: range(2,11,3)
Out[7]: [2, 5, 8]
In [8]: range(2,11)
Out[8]: [2, 3, 4, 5, 6, 7, 8, 9, 10]