自学python 进击之路 - 基础知识(二)

386 阅读7分钟

src=http___5b0988e595225.cdn.sohucs.com_images_20190916_32ce26032b124c3cb145a4231627373d.jpeg&refer=http___5b0988e595225.cdn.sohucs.jpg

1.if判断语句

Snipaste_2021-06-15_16-10-31.png

2.1 if判断的基本格式

if 判断条件:
    判断条件为 True,会执行的代码
    判断条件为 True,会执行的代码
    ...

顶格书写的代码,代表和 if 判断没有关系
在 python 中使用缩进,代替代码的层级关系, 在 if 语句的缩进内,属于 if 语句的代码块(多行代码的意思)
基本格式案例
"""
案例需求
1.通过用户键盘输入,获取年龄
2.判断年龄是否满足18,满足输出 本人18岁了,成年了
3. 程序最后
"""

# 1.获取年龄 input()
age = input('请输出你的年龄')
# 需要将字符串类型的age,转换为int类型的age
age = int(age)
# 2.判断年龄是否满足18,满足输出 本人18岁了,成年了
if age >= 18:
    # 满足条件才会执行
    print(' 本人18岁了,成年了')


# 3.程序最后输出'if 判断结束'
print('if 判断结束')

if else 结构

if 判断条件:
    判断条件为 True,会执行的代码
    判断条件为 True,会执行的代码
    ...
else:
    判断条件为 False, 会执行的代码
    判断条件为 False, 会执行的代码
    .....
    
    
ifelse 只会执行其中的一个, 
"""
案例需求
1.通过用户键盘输入,获取年龄
2.判断年龄是否满足18,满足输出 本人18岁了,成年了
3. 程序最后
"""

# 1.获取年龄 input()
age = input('请输出你的年龄')
# 需要将字符串类型的age,转换为int类型的age
age = int(age)
# 2.判断年龄是否满足18,满足输出 本人18岁了,成年了
if age >= 18:
    # 满足条件才会执行
    print(' 本人18岁了,成年了')

else:
    # 判断条件不瞒足,会执行的代码
    print('不满18岁,再要继续长大哟')


# 3.程序最后输出'if 判断结束'

print('if 判断结束')

if elif 结构

if 	判断条件1:
    判断条件1成立,执行的代码
elif 判断条件2:
    判断条件1不成立,判断条件2 成立,会执行的代码
else:
    判断条件1和判断条件2都不成立,执行的代码
    
--------
if 判断条件1:
    判断条件1成立执行的代码
    
if 判断条件2:
    判断条件2 成立执行的代码
# 需求
# 1. 成绩大于等于90 ,输出优秀
# 2. 成绩大于等于80,小于90,输出良好
# 3. 成绩大于等于60,小于80,输出及格
# 4. 小于60,输出不及格

score = eval(input('请输入你的成绩'))
# 1. 成绩大于等于90 ,输出优秀
if score >= 90:
    print('优秀')
# 2. 成绩大于等于80,小于90,输出良好
elif(score >= 80) and score < 90:
    print('良好')
# 3. 成绩大于等于60,小于80,输出及格
elif(score >= 60) and score < 80:
    print('及格')
else:
    print('不及格')

print('程序结结束')

猜拳游戏案例

# 导入随机数
import random
# 1.用户输入自己出拳的内容
user = int(input('请输入要出的拳:1(石头) 2(剪刀)3(布)'))
# 2,让电脑随机出拳
computer = random.randint(1, 3)
# 3.判断胜负
# 3.1 平局 输入的内容一样的 user == computer
# 3.2 user 胜利
# 3.3 else 剩下的情况就是电脑控制
if user == computer:
    print('平局')
elif(user == 1 and computer == 2) or (user == 2 and computer == 3) or (user == 3 and computer == 1):
    print('恭喜你,胜利了')
else:
    print('你输了')

三目运算

if else结构变形

if 判断条件1:
    表达式1
else:
    表达式2
    
判断条件成立,执行表达式 1, 条件不成立,执行表达式 2

变量 = 表达式1 if 判断条件 else 表达式2  # 推荐使用扁平化代码

变量最终存储的结构是: 
    判断条件成立,表达式1的值, 
    条件不成立,表达式2的值
a = int(input('请输入一个数字:'))
b = int(input('请输入一个数字:'))

result = a - b if a > b else b - a
result = (a - b) if a > b else (b - a)
print(result)

循环

while循环

while 判断条件:
    判断条件成立,执行的代码
    判断条件成立,执行的代码
    
不在 while 的缩进内,代表和循环没有关系    

whileif 的区别:
    if 的代码块,条件成立,只会执行一次
    while 的代码块,只要条件成立,就会一直执行

# 使用循环解决跑圈问题
# 1.记录已经跑了多少圈
i = 0
# 2.书写循环,判断是否满足条件
while i < 100:
    print('操场跑圈中...')
    # 3.跑了一圈之后,记录的圈数加1
    i += 1
print('跑圈完成')

应用小案例

# 计算1-100之间的泪痣
# 1 + 2 + 3 .... +99 +100
# 循环生成 1 - 100 之间的数字
# 定义变量记录初始的值
my_sum = 0
i = 1
while i <= 100:
    # 求和
    my_sum += i
    # 改变i的值
    i += 1
print('求和的结果输出为', my_sum)


# 定义变量记录初始的值
my_sum = 0
i = 2
while i <= 100:
    # 求和
    my_sum += i
    # 改变i的值
    i += 2  # 保证每次的结果都是偶数
print('求和的结果输出为', my_sum)

循环嵌套

while 判断条件1:
    代码1
    while 判断条件2:
        代码2

======
代码 1 执行一次,代码会执行多次
# 操场跑圈 一共了需要泡5圈
# 每一圈,需要做3个俯卧撑
#  1.定义变量记录跑的圈数
i = 0
while i < 5:
    # 2.定义变量,记录每一圈做了多少个俯卧撑
    j = 0
    # 3.操场跑圈
    print('操场跑圈中...')
    # 4.做俯卧撑
    while j < 3:
        print('做了一个俯卧撑')
        j += 1
        # 一圈完整了 圈数加1
    i += 1

for 循环遍历

语法
for 变量 in 字符串:
    代码
for 循环也称为 for 遍历,会将字符串中的字符全部取到    
# for i in 'hello':
    # i 一次循环是字符串中的一个字符
    # print(i, end='')
# range(n) 会生成[0, n) 的数据序列,不包含b
# for i in range(5):
#     # print(i)
#     print('操场跑圈中...')


# range(a, b) 会生成 [a, b) 整数序列,不包含b
# for i in range(3, 7):
#     print(i)

# range(a, b, step) 会生成[a ,b) 的整数序列但是每个数字之间的间隔(步长)是step
for i in range(1, 20, 4):
    print(i)

循环打印直角三角形

# for 循环打印的三角形
for i in range(n):
    for j in range(i+1):
        print("*", end=' ')
    print()


Snipaste_2021-06-15_19-22-21.png

Break 和 continue

1. breakcontinue 是 python 两个关键字
2. breakcontinue 只能用在循环中
3. break 是终止循环的执行, 即循环代码遇到 break,就不再循环了
	continue 是结束本次循环,继续下一次循环, 即本次循环剩下的代码不再执行,但会进行下一次循环
Break
# 有五个苹果
# 1. 吃了三个苹果之后, 吃饱了.后续的苹果不吃了
# 2. 吃了三个苹果之后.在吃第四个苹果,发现了半条虫子,这个苹果不吃了,还要吃剩下的苹果

for i in range(1, 6):
    if i == 4:
        print('吃饱了, 不吃了')
        break  # 终止循环的执行
    print(f'正在吃标号为 {i} 的苹果')

continue

   # 有五个苹果
# 1. 吃了三个苹果之后, 吃饱了.后续的苹果不吃了
# 2. 吃了三个苹果之后.在吃第四个苹果,发现了半条虫子,这个苹果不吃了,还要吃剩下的苹果

for i in range(1, 6):
    if i == 4:
        print('发现半条虫子,这个苹果不吃了, 没吃饱,继续吃剩下的')
        continue  # 会结束本次循环,继续下一次循环

    print(f'吃了编号为{i}的苹果')

循环 else 结构

for x in xx:
    if xxx:
        xx  # if 判断条件成立会执行
    else:
        xxx  # if 判断条件不成立,会执行
else:
    xxx  # for 循环代码运行结束,但是不是被 break 终止的时候会执行
    
需求:
    有一个字符串 'hello python', 想要判断这个字符串中有没有包含 p 这个字符,如果包含,就输出, 包含 p, 如果没有 p ,就
# 有五个苹果
# 1. 吃了三个苹果之后, 吃饱了.后续的苹果不吃了
# 2. 吃了三个苹果之后.在吃第四个苹果,发现了半条虫子,这个苹果不吃了,还要吃剩下的苹果

my_str = 'hello python!'
# my_str = 'hello itcast!'

for i in my_str:
    if i == 'p':
        print('包含p这个字符')
        # 已经判断出来包含了,是否还需要继续判断
        break
else:
    print('不包含p这个字符')