python学习笔记—语句

一、if条件语句

1.1 一般用法:
age = int(input('plese input your age'))
if age >= 18:
    print(f'您的年龄是{age},已成年')
else:
    print(f'您的年龄是{age},未成年')
print('系统关闭')
1.2 多重判断:
age = int(input('请输入您的年龄:'))
if age < 18:
    print(f'您的年龄是{age},童工')
elif (age >= 18) and (age <= 60):
    print(f'您的年龄是{age},合法')
elif age > 60:
    print(f'您的年龄是{age},退休')
print('系统关闭')

# 语句化简
if (age >= 18) and (age <= 60):  # 原语句
if 18 <= age <= 60:   # 化简语句
1.3 if嵌套
money = 1
seat = 1
if money == 1:
    print('滴,学生卡')
    if seat == 1:
        print('有空座位,请坐')
    else:
        print('没有空座,站着等')
else:
    print('请出门左转')

应用:猜拳游戏:
1.出拳
玩家:手动输入
电脑:随机
2.判断输赢
2.1 玩家获胜
2.2 平局
2.3 电脑获胜

import random   #导入模块
computer = random.randint(0,2)   # 模块名.函数名(使用random模块中的随机整数功能)
player = int(input('请出拳:0--石头;1--剪刀;2--布:'))

# if ((player == 0) and (computer == 1)) or ((player == 1) and (computer == 2)) or ((player == 2) and (computer == 0)):
if player > computer:
    print('玩家获胜')


elif player == computer:
    print('平局')

else:
    print('电脑获胜')
1.4 三目运算符

三目运算符也叫三元运算符或三元表达式
语法:
条件成立执行的表达式 if 条件 else 条件不成立执行的表达式
ex:
例一

a = 1 
b = 2
c = a if a > b else b
print(c)     #输出:2

需求:两个变量比较大小,如果变量1>变量2,执行变量1-变量2;否则执行变量2-变量1
例二

aa = 10
bb = 6
cc = aa - bb if aa > bb else bb - aa
print(cc)

二、while循环语句

2.1 循环的分类:

在Python中,循环分为 while 和 for 两种,最终实现效果相同。
例1:
需求:重复打印5次利威尔yyds

i = 0
while i < 5:
    print('利威尔yyds')
    i += 1
2.2 while的应用:

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

i = 0
sum = 0
while i < 101:
    sum += i
    i += 1
print(sum)

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

方法1:偶数除以2取余为0
i = 0
sum = 0
while i < 101:
    if i % 2 == 0:
        sum += i
    i += 1
print(sum)
方法2:计数器控制增量为2
i = 0
sum = 0
while i < 101:
    sum += i
    i += 2
print(sum)
2.3 break和continue

break和continue是循环中满足一定条件退出循环的两种不同方式。
break:终止此循环
continue:退出当前一次循环继而执行下一次循环代码

break例子:
循环吃5个苹果,吃到第三个吃饱了,剩下的不吃了(不执行)

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

continue例子:
吃五个苹果,吃到第三个有虫子,不吃第三个,继续吃剩下的
如果使用了continue,在continue之前要修改计数器,否则进入死循环

i = 1
while i <= 5:
    if i == 3:
        print('第三个苹果有虫子,不吃这个')
        i += 1   # 修改计数器
        continue
    print(f'吃了第{i}个苹果')
    i += 1
2.4 while嵌套

例子:

1.循环打印3次利威尔yyds
 2.输出利威尔砍猴
 3.输出三遍这套循环
 上面是一套循环,一套循环要重复执行就放到一共while里面
 
j = 0
while j < 3:
    i = 0
    while i < 3:
        print('利威尔yyds')
        i += 1

    print('利威尔砍猴')
    print('---一套循环结束---')
    j += 1
代码结果:
利威尔yyds
利威尔yyds
利威尔yyds
利威尔砍猴
---一套循环结束---
利威尔yyds
利威尔yyds
利威尔yyds
利威尔砍猴
---一套循环结束---
利威尔yyds
利威尔yyds
利威尔yyds
利威尔砍猴
---一套循环结束---
2.4.1while循环嵌套应用

九九乘法表:

j = 1
while j <= 9:       #一共九行
    i = 1
    while i <= j:    #一行的表达式个数和行号相等
        print(f'{i} * {j} = {i*j}', end='\t')
        i += 1
    print()
    j += 1
  # 注:print方法默认换行,end=''修改默认换行

结果:

1 * 1 = 1	
1 * 2 = 2	2 * 2 = 4	
1 * 3 = 3	2 * 3 = 6	3 * 3 = 9	
1 * 4 = 4	2 * 4 = 8	3 * 4 = 12	4 * 4 = 16	
1 * 5 = 5	2 * 5 = 10	3 * 5 = 15	4 * 5 = 20	5 * 5 = 25	
1 * 6 = 6	2 * 6 = 12	3 * 6 = 18	4 * 6 = 24	5 * 6 = 30	6 * 6 = 36	
1 * 7 = 7	2 * 7 = 14	3 * 7 = 21	4 * 7 = 28	5 * 7 = 35	6 * 7 = 42	7 * 7 = 49	
1 * 8 = 8	2 * 8 = 16	3 * 8 = 24	4 * 8 = 32	5 * 8 = 40	6 * 8 = 48	7 * 8 = 56	8 * 8 = 64	
1 * 9 = 9	2 * 9 = 18	3 * 9 = 27	4 * 9 = 36	5 * 9 = 45	6 * 9 = 54	7 * 9 = 63	8 * 9 = 72	9 * 9 = 81
2.5 while…else
2.5.1 while…else与break

else指的是循环正常结束后要执行的代码,如果是break终止循环的情况,else下方缩进的代码不执行。

break例子:
i = 1
while i <= 5:
    if i == 3:
        print('道歉不真诚')
        break
    print('对不起')
    i += 1
else:
    print('没关系')  #输出:对不起 对不起 道歉不真诚;break后else下的代码不执行
2.5.2 while…else与continue

continue是退出当前循环,继续下一次循环,所以该循环在continue控制下可以正常结束,之后的else缩进的代码可以执行。

continue例子:
i = 1
while i <= 3:
    if i == 2:
        print('道歉不真诚')
        i += 1  #continue前要修改计数器,否则进入死循环
        continue
    print('对不起')
    i += 1
else:
    print('没关系')  #输出:对不起 道歉不真诚 对不起 没关系
    第二次循环被continue终止,继续第三次循环。

三、for循环语句

3.1 break退出for循环

break终止整个循环

str1 = 'itheima'
for i in str1:
    # 当某些条件成立退出循环
    if i == 'e':
        break
    print(i)   # 输出:i、t、h
3.2 continue退出for循环

continue终止当前循环,执行下一次循环

str1 = 'itheima'
for i in str1:
    # 当某些条件成立退出循环
    if i == 'e':
        continue
    print(i)  # 输出:除了e都输出

while和for都可以配合else使用