Python学习笔记(五)条件语句 && 循环语句

Python学习笔记(五)条件语句&&循环语句

一、条件语句

在这里插入图片描述

1.if语法

if 条件:
    条件成立执行的代码1  #注意缩进,若代码未缩进,则与if语句条件真假无关
    条件成立执行的代码2
    
    ......

2.if实例

# 上网简单版程序
age = 20
if age >= 18:
    print('已经成年,可以上网')
print('系统关闭')


# 上网进阶版程序
age = int(input('请输入年龄:')) 
 #注意input接收的数据是str,不能与18整型变量比较--int转换类型
if age >= 18:
    print(f'您输入的年龄{age},已经成年,可以上网')
    print('您输入的年龄%s,已经成年,可以上网'%age)
print('系统关闭')

在这里插入图片描述

3.if…else…

在这里插入图片描述
语法:

if 条件:
    条件成立执行的代码1
    条件成立执行的代码2
else:
    条件不成立执行的代码1
    条件不成立执行的代码2
# 上网进阶版程序2
age = int(input('请输入年龄:'))
if age >= 18:
    print(f'您输入的年龄{age},已经成年,可以上网')
else:
    print(f'您输入的年龄{age},没有成年,回家写作业吧')

print('系统关闭')

注意:如果某些条件成立执行了相关代码,那么其他情况的代码解释器根本不会执行。

4.多重判断

语法:

if 条件1:
    条件成立执行的代码1
    条件成立执行的代码2
    ......
elif 条件2:
    条件不成立执行的代码1
    条件不成立执行的代码2
    ......
......
else:
    以上条件都不成立时执行的代码
#多重判断实例
age = int(input('请输入年龄:'))
if age < 18:
    print(f'您输入的年龄是{age},童工' )
elif (age >= 18) and (age <= 60):
    print(f'您输入的年龄是{age},合法' )
elif age > 60:
    print(f'您输入的年龄是{age},退休')
    

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.if嵌套

语法:

if 条件1:
   ......
   ......
   if 条件2:
       ......
       ......
# 多重if判断坐公交实例
money = 1
seat = 0
if money == 1:
    print('请上车')
    if seat == 1:
        print('请坐')
    else:
        print('先站着等等')
else:
    print('没有钱,不能上车')

结果截图:
在这里插入图片描述

6.应用:猜拳游戏

在这里插入图片描述
电脑“随机出拳”做法:
在这里插入图片描述
Python 中产生随机数的方法

'''
步骤;
   1.导入模块
   import random
   2.使用这个模块中的功能
   random.randint()
'''

import random
num = random.randint(0,2)
print(num)

#猜拳游戏完整代码(电脑随机出拳,不固定)
'''
1.出拳
  玩家:手动输入
  电脑:1.固定:剪刀 2.随机
2.判断输赢
  2.1玩家获胜
  2.2平局
  2.3电脑获胜
'''

import random

# 1.出拳
# 玩家
player = int(input('请出拳:0--石头;1--剪刀;2--布:'))
#电脑
computer = random.randint(0,2)
print(f'电脑出拳为(0--石头;1--剪刀;2--布):{computer}')
# 2.判断输赢
# 玩家获胜
if (player == 0 and computer == 1) or (player == 1 and computer == 2) or (player == 2 and computer == 0) :
    print('玩家获胜,哈哈哈')
# 平局
elif player == computer:
    print('平局,别走,再来一局')
# 电脑获胜
else:
    print('电脑获胜,呜呜呜')

在这里插入图片描述

7.三目运算符

三目运算符也叫 三元运算符 或者***三元表达式***
语法如下:
条件成立执行的表达式 if 条件 else 条件不成立执行的表达式

例子:

a = 1
b = 2
# 用三目运算符返回a和b中较大的数字
c = a if a > b else b
print(c)  #c = b

# 需求:有两个变量,比较大小。如果变量1 > 变量2,执行变量1 - 变量2;反之执行 变量2 - 变量1
aa = 4
bb = 23
c = (aa-bb)if (aa>bb) else(bb-aa)
print(c)

8.总结

-if语句语法

if 条件:
    条件成立执行的代码

-if…else…

if 条件:
    条件成立执行的代码
else:
    条件不成立执行的代码

-多重判断

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

-if嵌套

if 条件1:
    条件1成立执行的代码
    if 条件2:
        条件2成立执行的代码
        ...

    以上条件都不成立执行的代码

-三目运算符

条件成立执行的代码 if 条件 else 条不成立执行的代码

二、循环语句

1.循环作用

循环的作用使代码更加高效。

2.循环分类

在Python中,循环分为whilefor两种,最终实现效果相同。

3.while语句

3.1例子

'''
while 条件:
   条件成立重复执行的代码
'''

i = 0  #计数器一般从0开始(小细节)
while i < 5:
    print('我错了')
    i += 1  #不能写i++

在这里插入图片描述

3.2 应用:计算1-100累加和

# while循环计算1-100累加和:1+2+3+4+...+100 
i = 1
result = 0
while i <= 100:
    result += i
    i += 1
print(result)

3.3 应用:计算1-100偶数累加和

# while循环计算1-100偶数累加和:2+4+6+...+100

#方法一;条件判断和2取余数则累加
i = 1
result = 0
while i <= 100 :
    if i % 2 == 0:  #偶数
        result += i
    i += 1
print(result)

#方法二;计数器每次累加2
j = 0
result1 = 0
while j <= 100 :
    result1 += j
    j += 2
print(result1)

实验截图:
在这里插入图片描述
注意:从代码量看起来,方法二似乎更简单一定,但这种方法是人为的筛选偶数。方法一的关于偶数的条件判断“i%2 == 0”是计算机在做筛选与计算。

4.break语句和continue

breakcontinue是循环中满足一定条件退出循环的两种不同的方式。
在这里插入图片描述

#情况一:(吃饱了就不吃了)--break
print('情况一:')
i = 1
while i <= 5 :
    if i > 3:
        print('吃饱了')
        break
    print(f'吃了第{i}个苹果')
    i += 1

#情况一:(吃到坏的不吃,继续吃下一个)--continue,遇到continue退出当前一次执行下一次
print('情况二:')
i=1
while i <= 5:
    if i == 3:
        print('吃出来大虫子,这个苹果不吃了')
        i += 1  #如果使用continue,在continue之前一定要修改计数器,否则陷入死循环
        continue
    print(f'吃了第{i}个苹果')
    i += 1

实验截图:
在这里插入图片描述
注意:
在使用continue的时候,一定要记得,!!在continue语句前面把计数器修改了,否则程序将陷入死循环。

5.while循环嵌套

语法:
在这里插入图片描述
例子:
在这里插入图片描述

6.应用一:打印星号(正方形)

需求:
在这里插入图片描述
代码:
分析:一行打印五个星号,重复打印五行

#重复打印5行星星
j = 0
while j <= 4:
    # 一行星星的打印
    i = 0
    while i <= 4:
        # 一行内的星星不能换行,取消print默认结束符\n
        print('*',end='')
        i += 1
    #每行结束要换行,这里借助一个空的print,利用print默认结束符换行
    print()
    j += 1

结果截图:
在这里插入图片描述

7.应用二:打印星号(三角形)

需求:
在这里插入图片描述
代码:
分析:一行的星星的个数与行号是相等的。

# 打印星号(三角形)
i = 0
while i < 5 :
    j = 0
    while j <= i:
        print('*',end='')
        j += 1
    print()
    i += 1

实验截图:
在这里插入图片描述

8.应用三:打印九九乘法表

代码:(里面有小细节,要多练习)

#九九乘法表
i = 1  #行的计数器i
while i <= 9 :  #列的计数器j
    j = 1
    while j <= i :  #一行表达式数目与行号数相等
        print(f'{j}*{i}={j*i}',end='\t')
        j += 1
    print()
    i += 1

实验截图:
在这里插入图片描述

9.for循环

语法:
在这里插入图片描述

'''
for 临时变量 in 序列:
    重复执行的代码
'''
str1 = 'itheima'
for i in str1:
    print(i,end='\t')

实验截图:
在这里插入图片描述

10.和for循环配合使用的break,终止整个大循环

# break
str1 = 'itheima'
for i in str1:
    if i == 'e':
        print('遇到e不打印了')
        break
    print(i,end='\t')

实验截图:
在这里插入图片描述

11.和for循环配合使用的continue,终止当前小循环,进入下轮循环

# continue
str1 = 'itheima'
for i in str1:
    if i == 'e':
        continue
    print(i,end='\t')

实验截图:
在这里插入图片描述

12.else

循环可以和else配合使用,else下方缩进的代码是当循环正常结束后要执行的代码,循环没有正常结束不会执行else后的代码。

12.1 while…else…
语法:
在这里插入图片描述
代码:

#需求:道歉5遍我错了,完成之后执行原谅我了
i = 0
while i < 5:
    print('我错了')
    i += 1
else:
    print('原谅我了,真开心哈哈哈哈')

结果截图:
在这里插入图片描述
12.2break退出循环对else的影响
在这里插入图片描述

i = 1
while i <= 5:
    if i == 3:
        print('这遍说的不真诚')
        break
    print('我错了')
    i += 1
else:
    print('原谅你啦')

结果截图:
在这里插入图片描述
12.3 continue退出循环对else的影响
在这里插入图片描述

i = 1
while i <= 5:
    if i == 3:
        print('这遍说的不真诚')
        i += 1
        continue
    print('我错了')
    i += 1
else:
    print('原谅你啦')

结果截图:
在这里插入图片描述
12.4 for…else…

str1 = 'itheima'
for i in str1:
    print(i,end='\t')
else:
    print('循环正常结束')

结果截图:
在这里插入图片描述
12.4 for…else…之break和continue

#break
str1 = 'itheima'
for i in str1:
    if i == 'm':
        break
    print(i, end='\t')
else:
    print('循环正常结束')

print()
#continue
for i in str1:
    if i == 'm':
        continue
    print(i, end='\t')
else:
    print('循环正常结束')

结果截图:

在这里插入图片描述

13.总结

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

发布了14 篇原创文章 · 获赞 0 · 访问量 534

猜你喜欢

转载自blog.csdn.net/Ydn000/article/details/104172819