Python流程控制语句
顺序结构
Created with Raphaël 2.2.0开始AB结束
分支结构
Created with Raphaël 2.2.0开始A条件BCyesno
- 三种选择语句:
if语句
num1 = 5
num2 = 15
if num 1 <= num2:
print('num2是比较大的数')
if…else…语句
num1 = 5
num2 = 15
if num1 <= num2:
print('num2是比较大的数')
else:
print('num1是比较大的数')
if…elif…else…语句
num1 = 5
num2 = 15
num3 = 25
if num1 >= num2 and num1 >= num3:
print('num1是比较大的数')
elif num2 >= num3 and num2 >= num1:
print('num2是比较大的数')
else:
print('num3是比较大的数')
if语句可以嵌套,即在if语句中可以在写if语句,流程图如下
Created with Raphaël 2.2.0开始A条件B条件CDyesnoyesno
循环结构
- 按照一定条件,反复执行某一种步骤的过程,叫循环结构
- 有循环条件和循环体组成
- 死循环
- Python提供两种循环结构
- for循环:重复一定次数的循环,也称为计次循环
- while循环:直到条件不满足时才结束循环,也称为条件循环
Created with Raphaël 2.2.0开始A条件BCyesno
- 对于确定次数的循环,for语句在设定初始值和终止值后,循环变量自动累加
for、while循环
for 变量 in 集合(序列/对象/range()):
循环体
else:
表达式
- 每次从集合中去除一个值,并把值赋给变量
- range([start],stop[,step])
start
起始值,默认为0,可以省略stop
结束值,不能省略,循环到stop-1停止step
增减值,默认为1
- 在循环中,print()如果有缩进,表示在for循环内,会按执行次数输出,如果没有缩进,表示没有在for循环内,输出累加结果
例如:
list(range(5)) #输出[0,1,2,3,4]
list(range(4,10)) #输出[4,5,6,7,8,9]
list(range(4,10,2)) #输出[4,6,8]
例题:计算1+2+3+…+100的和。
- for循环
sum = 0
for i in range(1,101):
sum += i
print('sum=',sum)
- while循环
i=0
sum = 0
while i <= 100:
sum += i
i += 1
print('sum=',sum)
总结:
- 固定次数的循环问题都可以用for循环和while循环来解决
- 次数不固定的只能用while循环
逻辑运算符
if语句 | if…else…语句 | if…elif…else… |
---|---|---|
and | a and b | 只有a和b都成立时,才能执行if后面的语句块 |
or | a or b | a和b只要有一个条件成立,就执行if后面的语句块 |
not | not a | 条件a为false时,执行if后面的代码块 |
- 这里的a和b都可以是表达式
- 在Python中,False、None、空字符串、空列表、空元组、都相当于False
break、continue、pass
- break
- 用在for循环和while循环中
- 循环条件没有false、序列还没有完全递归完,也会停止执行循环语句
- 在循环嵌套内,break语句将停止执行最深层的循环,并执行下一行代码
- continue
- 用在for循环和while循环中
- 跳出当前循环的剩余语句,然后继续执行下一次循环
- continue是跳出本次循环,break是跳出整个循环
- pass
- 空语句,为了保持程序完整性
- 一般用作占位语句
- 只是想让程序循环一定次数,单循环过程中不执行任何操作,则使用pass
break
语句会立即退出循环,不会执行else后的语句continue
语句会忽略后面的语句,即跳过循环剩余的语句,不结束循环进入下一次循环
break
#例1:for循环
for i in 'voider':
if i == 'd':
break
print(i)
#输出v、o、i
#例2:while循环
num = 5
while num > 0:
print(num)
num -= 1
if num == 3:
break
print('I am Bad!')
#输出5、4、I am Bad!
continue
#例1:for循环
for i in 'voider':
if i == 'd':
continue
print(i)
#输出v、o、i、d、e、r
#例2:while循环
num = 5
while num > 0:
print(num)
num -= 1
if num == 3:
continue
print('I am Bad')
#输出5、4、3、2、1、I am Bad!
练习
- 编写一个python程序,完成输入两个数,比较它们的大小并输出其中较大者。
- 使用Python编程,求1~100间所有偶数的和。
- 从键盘接收二百分制成绩(0100),要求输出其对应的成绩等级AE。其中,90分以上为A,8089分为B,7079分为C,60~69分为D,60 分以下为E。
- 用Python编写程序,输入一年份,判断该年份是否是闰年并输出结果。
注:凡符合下面两个条件之一的年份是闰年。
a)能被4整除但不能被100整除。
b)能被400整除。 - 用Python编程,假设一年期定期利率为3.25%,计算一下需要过多少年,一万元的一年定期存款连本带息能翻番?
- 编程,解决猴子吃桃问题。
猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想吃时,只剩下一个桃子了。求第一天共摘多少个桃子。(迭代法)。 - 使用循环语句打印一列5个
*
- 使用循环语句输出一行5个
*
(提示:print(’*’,end="")) - 使用循环语句输出下列图案(思考:怎么输出等腰三角形和菱形?)
*
* *
* * *
* * * *
* * * * *
以上内容均属原创,如有不详或错误,敬请指出。
本文链接: https://blog.csdn.net/qq_45668124/article/details/105001946
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!