栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python基础知识点(2)

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python基础知识点(2)

Python基础入门知识点(2) 1、分支结构

概念:在程序运行过程中能够对某些情况正确的做出选择

系统关键字:if、else、elif

1、单分支结构
"""
语法:
if 条件:
    代码块1
else:
    代码块2

else分支可以不写
"""

解释:当条件成立时,执行代码块1;否则执行代码块2

案例:在某个网站登录账号

UserName = input('请输入账号:')
pwd = input('请输入密码:')
if UserName == 'admin' and pwd == '123456':
    print('登陆成功')
else:
    print('登陆失败,账号或密码错误')
"""
请输入账号:admin
请输入密码:123456
登陆成功
"""

练习:使用input输入一个年龄,判断这个人是否成年

age = int(input('请输入一个年龄:'))
if 0 < age < 18:
    print('未成年')
else:
    print('成年')
"""
请输入一个年龄:18
成年
"""
2、多分支结构
"""
语法:
if 条件:
    代码块1
elif 条件:
    代码块2
elif 条件:
    代码块3
......
else:
    代码块n
"""

解释:elif可以写无数个乃至n个,else可以看情况写或者不写

案例:考试成绩划分等级(ABCDE)

score = 89
if score >= 90:
    print('A')
elif score >= 80:
    print('B')
elif score >= 70:
    print('C')
elif score >= 60:
    print("D")
# elif score < 60:
else:
    print('E')
# -------------------------
if score >= 90:
    print('A')
# elif score >= 80 and score < 90:
elif 80 <= score < 90:
    print('B')
# elif score >= 70 and score < 80:
elif 70 <= score < 80:
    print('C')
# elif score >= 60 and score < 70:
elif 60 <= score < 70:
    print('D')
else:
    print('E')
"""
B
B
"""
3、嵌套分支

概念:一个分支结构再嵌套多个分支结构

案例:判断数字是否是偶数,如果是偶数再判断其是否是10的倍数

num = 20
if num % 2 == 0:
    print(f'{num}是偶数')
    if num % 10 == 0:
        print(f'{num}是10的倍数')
    else:
        print(f'{num}不是10的倍数')
else:
    print(f'{num}是奇数')
"""
20是偶数
20是10的倍数
"""
4、三目运算符

语法:变量 = 结果1 if 条件 else 结果2

释义:针对单分支结构做的简化,性能和单分支结构没有差异;如果条件成立,执行结果1,否则执行结果2。

案例:判断一个人是否成年

age = 20
result = '成年' if age >= 18 else '未成年'
print(result)
# 成年
2、循环

概念:可以借助程序来解决某一类重复、繁琐的事情

系统关键字:for、in、while、break、continue、else

1、for循环
"""
语法:
for 变量 in 容器:
    代码块
"""

解释:将变量从容器中依次取出执行代码块,容器中元素个数决定了for循环次数

range(M, N, step)

  • 一个左闭右开区间,M是范围的起点,N是范围的终点,也即[M, N);step是步长,默认值为1,可以不写
  • 步长step决定了下一个元素获取谁,当前元素 + step = 下一个元素
  • 如果range中只有一个数字x,并且x大于0的,代表从0获取到x-1,此时x等于结束范围N,0等于开始范围M,step默认为1
  • 如果step>0的,MN

用法示例:

  • range(1, 11):获取1-10十个元素
  • range(1, 11, 3):获取1、4、7、10四个元素
  • range(10):获取0-9十个元素
  • range(12 ,4):获取不到元素
  • range(0, 10, -1):获取不到元素
  • range(11, 1, -1):从11取到2,一共十个元素
for i in range(1, 6):
    print(i)
print('------------------------')
for i in range(1, 6, 5):
    print(i)
print('------------------------')
for i in range(1, 6, -1):
    print(i)
print('------------------------')
for i in range(0, -10, -3):
    print(i)
print('------------------------')
"""
1
2
3
4
5
------------------------
1
------------------------
------------------------
"""

案例:计算1-100的和

sum = 0
for i in range(1, 101):
    # print(i)
    sum += i
print(sum)
# 5050

练习一:通过修改步长,计算100以内2的倍数的和

sum = 0
for i in range(2, 101, 2):
    sum += i
print(sum)
# 2550

练习二:计算100的阶乘

total = 1
for i in range(2, 101):
    total *= i
print(total)
"""
93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000
"""
2、while循环
"""
语法:
while 条件:
    代码块
"""

解释:当条件为真时,执行代码块;否则不执行

while循环与for循环区别:for适合循环次数确定的循环;while既适合循环次数确定的循环,又适合循环次数不确定的循环

案例:计算1-100的和

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

练习:猜数字游戏:如果猜的数字比较大,提示再小一点;如果猜的数字比较小,提示再大一点;如果猜对了,程序结束;如果7次之内猜不对,提示智商有限

tips:随机模块random.randint(a, b):表示从[a, b]中随机生成一个整数

import random
num = random.randint(1, 100)
flag = True
count = 0
while flag:
    num1 = int(input('请输入你猜的数字:'))
    count += 1
    if num1 > num:
        print('再小一点')
    elif num1 < num:
        print('再大一点')
    else:
        print('猜对了')
        flag = False
if count > 7:
    print('智商有限')
"""
请输入你猜的数字:50
再大一点
请输入你猜的数字:75
再大一点
请输入你猜的数字:87
再大一点
请输入你猜的数字:94
再小一点
请输入你猜的数字:90
再大一点
请输入你猜的数字:92
再小一点
请输入你猜的数字:91
猜对了
这只是一种随机的情况,大家各自执行时不一样
"""

小知识:二分法思想,每次猜的时候可以取中值,分成两半,再对剩下的一般再次取中值,那么在100以内之多7次可以猜出对应的数字。

3、跳出循环的关键字

包括:break、continue

break:被触发时,直接结束break所在循环

案例:

for i in range(1, 101):
    if i % 5 == 0:
        print('****')
        break
        print('====')
    else:
        print(i)
"""
1
2
3
4
****
"""

continue:被触发时,跳出continue所在循环的当次循环,进入下一次循环

案例:

for i in range(1, 11):
    if i % 5 == 0:
        print('****')
        continue
        print('====')
    else:
        print(i)
"""
1
2
3
4
****
6
7
8
9
****
"""

注意:break可以结束死循环,例如:

i = 1
while True:
    i += 1
    if i == 5:
        break
    print(i)
"""
2
3
4
"""
4、for-else循环
"""
语法:
for 变量 in 容器:
    代码块
else:
    代码块
"""

解释:

  • for-else循环适用于所有可能性考虑完才能得到某一结论的场景

  • for循环正常结束之后,else语句被触发;如果for循环非正常结束,else语句不会被触发

案例:找出100以内所有的素数(只有1和本身两个因子的正整数叫做素数)

for i in range(2, 101):
    if i == 2:
        print('2是素数')
    else:
        for j in range(2, i):
            if i % j == 0:
                print(f'{i}不是素数')
                break
        else:
            print(f'{i}是素数')
"""
由于结果过长,这里只注释出10以内所有的素数
是素数
3是素数
4不是素数
5是素数
6不是素数
7是素数
8不是素数
9不是素数
10不是素数
.......
"""
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1030861.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号