加载中...

Python——条件语句及其循环

条件语句及其循环

一. 条件语句

在条件语句中可以使用以下所有的运算符:

  • 算术运算符:+、-、*、/、//、%、**
  • 关系运算符:>、<、==、<=、>=、!=
  • 测试运算符:in、not in、is、is not
  • 逻辑运算符:and、or、not
  • 位运算符:~、&、|、^、<<、>>

1.1 单分支选择结构

语法:

if 表达式 :
    pass
 	#代码块

特别注意 : 只有"条件"正确的时候 才进行程序的下一步,如果"条件"是错误(False) 就不执行

if True:
    print('条件成立执行的代码1')
    print('条件成立执行的代码2')

#下方的代码没有缩进到if语句块,所以和if条件无关

print('我是无论条件是否成立都要执行的代码')

#例子
age = input('请输入你的年龄:')

if int(age) >= 18:
    print('已经成年,可以上网')

print('系统关闭')

1.2 双分支选择结构

语法:

if 表达式:
    pass

else:
    pass

当表达式的值为True时,执行语句块1,否则执行语句块2

age = int(input('请输入您的年龄:'))

if age >= 18:
    print(f'您的年龄是{age},已经成年,可以上网')
else:
    print(f'您的年龄是{age},未成年,请自行回家写作业')

print('系统关闭')

python还支持如下形式的表达式,当表达式condition的值与True等价时表达式的值为values1,否则为values2,另外values1与values2中还可以使用复杂表达式

values if condition else values2

a=5
print(6) if a>3 else print(5)
6

print(6 if a>3 else 5)
6

b=6 if a>13 else 9
print(b)
9

1.3 多分支选择结构

语法

if 条件1:
    条件1成立执行的代码1
    条件1成立执行的代码2
    ......
elif 条件2:
	条件2成立执行的代码1
    条件2成立执行的代码2
    ......
......
else:
    以上条件都不成立执行执行的代码

多重判断也可以和else配合使用。一般else放到整个if语句的最后,表示以上条件都不成立的时候执行的代码。

例子

age = int(input('请输入您的年龄:'))
if age < 18:
    print(f'您的年龄是{age},童工一枚')
elif (age >= 18) and (age <= 60):
    print(f'您的年龄是{age},合法工龄')
elif age > 60:
    print(f'您的年龄是{age},可以退休')
    

    
# 还可以这么写
age = int(input('请输入您的年龄:'))
if age < 18:
    print(f'您的年龄是{age},童工一枚')
elif (age >= 18) and (age <= 60):
    print(f'您的年龄是{age},合法工龄')
else:
    print(f'您的年龄是{age},可以退休')

二. 循环语句

2.1 while循环

语法

while 条件表达式:
	循环体
# 循环的计数器  注意 : 主要看到while 就看到了那个循环的圈圈 

while 9 >8 :
    print('你瞅啥 ????') 

while True :
    print('你瞅啥 ????')	#与下面介绍的break一起用
    
while 9 < 0  :  #  不会循环 因为条件的结果是False 
    print('你瞅啥 ????')
    

i = 0
while i < 5:
    print('我错了')
    i += 1

print('任务结束')

2.2 for循环

语法

for 变量 in 序列或其他迭代对象(一般与range()函数连用) :
    循环体

例子

for i in range(5):
	print('我错了')
    
    
for i in range(5): 
    print(i)   #可以看出是 0 1,2,3,4  一共5个数 ,但是是左闭右开 默认从0 开始 
    
    
for i in range(1,5):  # 从1开始 还是左闭右开的规则 
    print(i)
    
    
    
for i in range(1,6):
    print(f'我错了说了第{i}遍')  
    
# 相对于 while 代码更简洁易懂
# range 代表范围,即左闭右开区间
# 特别注意 for循环所表示的两层含义 (i代表是啥 ? 循环了几次?)

嵌套for循环

***
***
***

要求 :  试着打印上面的*

for  j in range(4):
    for i in range(3):
        print("*",end="")
    print()   # 只起到换行的作用 
    
"""
1: 首先看到的是* 第一想到打印print函数,又因为print函数默认换行这里没有换,所以肯定end参数=''
2: 可以看到打印的*是三个可以想到for循环三个  那么马上就想到 for i in range(3)里面进行print(*)并且end = ''
3: 把第二步当成一个整理,再进行for循环四次 ,又因为之前的print是去掉换行的,所以说print() 直接换行 就可以 

"""

# 重点: 
- 理解***的打印顺序
- 理解print的用法
- 理解for循环的代表的实际意义
- 理解两个循环的执行顺序和逻辑  

for i in range(1,10):
    for j in range(1,10):
        if i>=j:
            print(f'{j}*{i}=',j*i," ",end="")
    print()
#乘法口诀表

2.3 搭配else

while循环与for循环都可以带else语句,如果循环因为表达式不成立而自然结束(不是因为执行了break而结束循环),则执行else中的语句;如果循环是因为执行了break语句而提前结束,则不执行else中的语句。

while 条件表达式:
	循环体
else:
	代码块
	
for 变量 in 序列或其他迭代对象:
	循环体
else:
	代码块

#例子    
s=0
for i in range(1,101):
	s+=i
else:
	print(s)
5050

三. break&continue

break和continue是循环中满足一定条件退出循环的两种不同方式。

举例:一共吃5个苹果,吃完第一个,吃第二个…,这里"吃苹果"的动作是不是重复执行?

情况一:如果吃的过程中,吃完第三个吃饱了,则不需要再吃第4个和第五个苹果,即是吃苹果的动作停止,这里就是break控制循环流程,即终止此循环

情况二:如果吃的过程中,吃到第三个看到一个大虫子…,是不是这个苹果就不吃了,开始吃第四个苹果,这里就是continue控制循环流程,即退出当前一次循环继而执行下一次循环代码

3.1 break终止

# break
i = 1
while i <= 5:
    if i == 4:
        print(f'吃饱了不吃了')
        break
    print(f'吃了第{i}个苹果')
    i += 1

print('从循环跳出来了')
   
# 栗子
while True:
    s = input('随便输入点什么(输入quit是结束):')

    if s == 'quit':
        break

    print(f'你输入的字符串是{s}')
print('完')

3.2 continue跳过

for i in range(1, 20):
    if i % 2 == 0:
        continue
        # print(1)

    print(i)

# 注意 : continue即使下面有若干行代码都不会执行



num = 0
while num < 10:
    print(num)
    if num == 3:
        num += 1
        continue
    print("&")
    num += 1

posted @ 2021-10-11 22:27  冰山一树Sankey  阅读(90)  评论(0编辑  收藏  举报