Python学习笔记------数据类型、分支结构、循环结构

本文介绍了Python中的基本数据类型,包括整型、浮点型和布尔型的转换规则,并展示了如何使用if-else单分支结构和三目运算符处理逻辑判断。此外,还详细阐述了for和while循环的使用,包括range函数、循环控制语句break和continue的应用,并通过实例展示了如何判断闰年和水仙花数等编程问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Python中的数据类型:

一、整型

什么样的数据能够转为整型int?所有的数据类型后面添加小括号,即可使其变为数据类型转换的方法。(构造器语法)

1.浮点型可以转整型。

2.去掉引号就是一个整数的字符串可以转整型。

3.布尔值可以转整型,True --> 1, False --> 0

print(int(123.56))
print(int('12345'))
# print(int('123.456')) --> int不认识字符串里面的小数点
print(int(True), int(False))
# 字符串为小数使用int转整数,直接舍弃小数部分

输出

123
12345
1 0
二、浮点型

什么样的数据能够转为浮点型float?

1.整型可以转为浮点型。

2.数字字符串。

3.布尔值。 True --> 1.0, False --> 0.0

print(float(1234))
print(float('12.34'), float('100.'), float('.0'))
# 可以选择将无意义的0隐藏掉。
print(float(True), float(False))

输出

1234.0
12.34 100.0 0.0
1.0 0.0
三、布尔型

所有的数据均可以转为True和False。False:所有表示空值的数据和表示0的数据均为False;True:只要不是False,皆为True。

print(bool(0), bool(0.0), bool(None), bool(''), bool([]), bool({}))
print(bool(10000), bool(' '), bool('None'), bool([None]))

输出

False False False False False False
True True True True

Python中的分支结构:

一、单分支结构

单分支结构:只有是和否两种情况。

语法:
if 条件:
    代码块1
else:
    代码块2

分支结构,只有一条分支能够被执行,某一条分支被执行了,其他分支不再执行。
某一条分支被执行,就意味着这条分支的代码块被执行。
哪些代码属于某一条分支,看缩进,缩进说明了这些代码属于谁。
缩进,一般约定成俗为一个缩进为4个空格,缩进要么手动敲空格键,要么使用编辑器自动的缩进,千万不要使用制表符tab键。

# 练习用例:使用分支结构,判断一个年份是否是闰年,结果返回闰年或者平年。
year = 2024
if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):
    print('闰年')
else:
    print('平年')
# 判断153、471、499这三个数字是否是水仙花数,
# 所谓水仙花数是指一个三位数,其各位数字立方和等于该数本身。
# 例如:153是⼀个水仙花数,因为 1³ + 5³ + 3³  等于 153。
num1 = 153
unit = num1 % 10
decade = num1 // 10 % 10
hundred = num1 // 100
if unit ** 3 + decade ** 3 + hundred ** 3 == num1:
    print(f'{num1}是水仙花数')
else:
    print(f'{num1}不是水仙花数')

输出:

闰年
153是水仙花数

三目运算符:目运算符就是单分支结构的变形。 并不是所有的单分支结构都可以改为三目运算符形式。

三目运算符作用:解决单分支结构臃肿的问题,使代码更美观,更具可读性。

age = 17
if age >= 18:
    print('已成年')
else:
    print('未成年')
# 优化
print('已成年' if age >= 18 else '未成年')
# 三目运算符语法:
# 结果1 if 条件 else 结果2
# 如果条件成立,答案为结果1;反之,答案为结果2。
二、多分支结构

语法:

if 条件1:
    代码块1
elif 条件2:
    代码块2
elif 条件3:
    代码块3
……
else:
    代码块N
# 案例:期末考试,成绩评级,90分以上等级为A、80分以上等级为B、……
# 不及格等级为E,写一个程序,按照分数进行判断进行对应评级。

score = 70
if score >= 90:
    print('A')
# elif score >= 80 and score < 90:
elif 80 <= score < 90:
    print('B')
elif score >= 60 and score < 70:
    print('D')
elif score >= 70 and score < 80:
    print('C')
else:
    print('E')

# score >= 80 and score < 90在Python不规范,
# 因为Python支持范围的连写。所以在代码底下会出现波浪线提示语法不规范
# 判断闰年,使用多分支结构。
year = 2008
if year % 4 == 0 and year % 100 != 0:
    print('闰年')
elif year % 400 == 0:
    print('闰年')
else:
    print('平年')
嵌套分支

分支结构是可以相互嵌套的。按照语法,每一条分支下面都有一个代码块;所以可以在代码块这里写无数行代码。

# 判断一个数字,是否是偶数,如果是偶数,再判断其是否是4的倍数。
num = 20
if num % 2 == 0:
    print(f'{num}是偶数')
    if num % 4 == 0:
        print(f'{num}还是4的倍数')
else:
    print(f'{num}是奇数')

# 分支结构中else并不是必须要写的。
num = 40
if num % 2:
    print(f'{num}是奇数')
else:
    print(f'{num}是偶数')

# num % 2 == 0是比较大小,最终相等得到结果True。
# 而num % 2得到一个值为0,在条件中,默认将0转换为False。

Python中的循环结构:

Python中循环分为for循环和while循环。Python中涉及的循环关键字:for、in、while、break、continue

一、for循环
for-in循环语法:
for 变量 in 容器:
    代码块

容器中元素是固定好的,个数是有限的。
for循环根据容器中元素个数确定循环次数,每循环一次,
变量就会从容器中挨个获取一个元素。直到循环次数达到容器中元素个数,停止。

ps:当for循环的作用仅仅是循环次数时,变量可以使用_代替。

range方法:左闭右开区间,能根据提供的数字,生成一个有限个数整数的容器。

range(start, stop, step)

解释:start:开始参数,默认为0,可以省略不写;stop:结束参数(必须赋值的一个参数);
step:为步长,决定下一个数字获取谁,默认为1,可以省略不写;如果step出现,start就不能够隐藏不写了。
如果step >= 1,start必须小于stop;如果step <= -1,start必须大于stop。

举例:

range(101) --> 表示生成一个0-100的整数容器。

range(11,21) --> 表示生成一个11-20的整数容器。

range(11, 21, 2) --> 表示在11-20的整数容器中每隔2个数取一个值。下一次产生的数字 = 本次数字 + step(步长)。

range(10, -11, -1) --> 表示生成10~-10之间的整数容器。
例子:

for i in range(10, -11, -2):
    print(i,end=" ")
print()
# 求出所有的水仙花数。
for num in range(100, 1000):
    unit = num % 10
    decade = num // 10 % 10
    hundred = num // 100
    if unit ** 3 + decade ** 3 + hundred ** 3 == num:
        print(f'{num}是水仙花数')
# 计算1-100的和。
total = 0
for i in range(1, 101):
    total += i
print(f'1-100的和为{total}')
# 计算出10的阶乘。
total = 1
for i in range(2, 10):
    total *= i
print(f'100的阶乘为{total}')

输出:

10 8 6 4 2 0 -2 -4 -6 -8 -10 
153是水仙花数
370是水仙花数
371是水仙花数
407是水仙花数
1-100的和为5050
100的阶乘为362880
二、while循环

while循环既可以用作有限次数循环,也可用作无限次数循环。但是程序不允许出现无限次循环(死循环)。

一般for循环被用作有限次数循环,while循环被用作不确定次数的循环。
语法:

while 条件:
    代码块
while循环开始时,先判断条件是否成立,条件成立,执行代码块,不成立,直接结束。
一次循环结束后,再次判断条件是否还成立。
# 案例:猜数字游戏(又被称为:数字炸弹)
# 在1-100之间,随机取一个数字,玩家去猜,猜对了接受惩罚;猜大了,提示再小一点;猜小了,提示再大一点。
from random import randint
# random:随机模块
# randint方法:能够从指定范围(闭区间)产生一个整数。
number = randint(1, 100)
# print(number)
flag = True
while flag:
    num = int(input('请输入你猜的数字:'))
    if num > number:
        print('再小一点')
    elif num < number:
        print('再大一点')
    else:
        print('猜对了,游戏结束,接受惩罚')
        flag = False
break关键字:只能用于循环中,break一旦被触发,直接结束其所在循环。
continue关键字:只能用于循环中,continue一旦被触发,直接结束其所在循环的本次循环,进入下一次循环。
当for循环的作用仅仅是循环次数时,变量可以使用_代替。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

幻梦天殇272

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值