Python整数类型——像数字积木一样有趣
中等0语言版本:C++
概述:本节用小朋友熟悉的数字积木比喻,带你认识Python中的整数类型,学会如何写整数、做计算,并了解整数可以变得很大。
Python整数:从数星星到算零花钱
小朋友,你每天都会和数字打交道:数一数书包里有几本书,算一算今天花了多少零花钱,或者看看考试得了多少分。这些像1、2、3、0、-5这样的数,数学里叫整数。在Python的世界里,整数就像你最熟悉的数字积木——你把它写出来,电脑就能记住它、用它做各种计算。
比如你想记下自己的零花钱:
pocket_money = 20 # 口袋里有20元
电脑就知道了:pocket_money这个“名字”里装着整数20。
整数长什么样?正数、负数、还有零
整数家族有三个成员:
- 正整数:你数糖果、算人数时用到的,比如
1、99、365 - 零:表示什么都没有,就是
0 - 负整数:欠别人钱、零下温度时用到,比如
-10、-3
生活中处处有整数:
- 考试成绩:小明考了
95分,小红考了100分 - 气温:夏天室温
30度,冬天零下-5度 - 零花钱:妈妈给了
50元,买零食花了20元,剩下30元
在Python里,你直接写数字就行,不需要加引号(加了引号就变成文字了)。
score = 95 # 考试分数95
temperature = -5 # 零下5度
nothing = 0 # 一个也没有
用整数做计算——像搭积木一样简单
整数可以像数字积木一样进行各种运算,看看下面这些:
加法 + 和减法 -
- 你今天有
10元零花钱,妈妈又给了5元,现在一共有多少?money = 10 + 5 # 加法:10+5=15 - 买了
3元的冰淇淋,剩下多少?left = 15 - 3 # 减法:15-3=12
乘法 *
- 你每天存
2元零花钱,一个星期(7天)能存多少?week_save = 2 * 7 # 乘法:2乘以7等于14
除法 / —— 注意!结果变成小数
- 把
7块饼干平均分给2个好朋友,每人得多少?这个each = 7 / 2 # 结果是3.5,不是整数3.5叫浮点数(像小数),不是整数了。如果你想得到整数结果,可以用后面要学的//。
取余 % —— 算算还剩多少
- 还是
7块饼干分给2人,每人分3块,还剩几块?就用取余:取余在小学数学里就是“余数”。比如:remain = 7 % 2 # 结果是1(7除以2余1)10 % 3等于1(10除以3余1)15 % 5等于0(15能除尽,没有余数)8 % 10等于8(8不够除,余数就是8本身)
幂 ** —— 指数增长好惊人
- 你家有
2只小兔子,每只每个月生2只,3个月后一共有多少只?(简单想想,2的3次方)注意:rabbits = 2 ** 3 # 2的3次方=8**是乘方,2 ** 3就是2 × 2 × 2。
混合运算 —— 先乘除后加减,括号先算
和数学课学的一样,Python也遵守运算法则:
result = 3 + 4 * 2 # 先乘后加:3 + 8 = 11
result2 = (3 + 4) * 2 # 括号优先:7 * 2 = 14
整数的超能力:能变得超级大
很多编程语言(比如C++、Java)的整数有个“最大限制”,太大了就会出错。但Python的整数特别厉害——它可以变得非常大,大到你想不到!
比如算一下2的1000次方:
big = 2 ** 1000 # 2的1000次方
print(big) # 结果是一个几百位的数字!
你尽管写 2 ** 100000,电脑也能算出来(不过可能会慢一点,因为太大了)。这就像你的数字积木可以无限搭高,永远不会倒。
新手最容易犯的错误
1. 把 / 和 // 弄混
/是普通除法,永远返回浮点数(小数):print(7 / 2) # 3.5 print(10 / 5) # 2.0 (注意,虽然是整数结果,但还是浮点数)//是整数除法(也叫地板除),只取商的整数部分(舍弃小数):print(7 // 2) # 3 print(10 // 5) # 2 print(3 // 5) # 0 (因为3不够分给5个人,每人0块)
2. 取余 % 对负数有点不一样
- 如果被除数是正数,结果也是正数:
7 % 3等于1 - 如果被除数是负数,结果通常也是负数:
小朋友别慌,你可以记:先正常算余数,然后加上除数再取一次。实际编程中负数取余很少用到,先记住正数的情况就好。
print(-7 % 3) # 结果是2,不是-1!因为Python保证余数是非负的(但要符合数学规则)
3. 把数字和文字混在一起
# 错误写法
print("我有" + 5 + "个苹果") # 会报错:字符串不能直接加整数
要改成:
print("我有" + str(5) + "个苹果") # 用str()把整数变成文字
完整示例:算零花钱的小能手
我们写一个完整的小程序,帮小明算算他的零花钱怎么花:
# 小明每天有10元零花钱
daily_money = 10 # 每天零花钱(元)
# 问他第几天了,用input获取输入(输入的是字符串,要转成整数)
day_input = input("小明,你已经拿到零花钱第几天了?请输入数字:")
day = int(day_input) # 把输入的字符串转成整数
# 算总零花钱
total_money = daily_money * day # 总零花钱 = 每天 * 天数
# 他想攒钱买一个98元的乐高,看看够不够
lego_price = 98 # 乐高价格(元)
# 先算能买几个,用整数除法
lego_count = total_money // lego_price # 能买几个(取整)
remain_money = total_money % lego_price # 买完后还剩多少钱
print("你一共攒了", total_money, "元")
print("可以买", lego_count, "个乐高,还剩", remain_money, "元")
# 如果钱不够,告诉他差多少
if total_money < lego_price:
need = lego_price - total_money
print("还差", need, "元才能买一个乐高哦")
运行示例(假设小明输入第10天):
小明,你已经拿到零花钱第几天了?请输入数字:10
你一共攒了 100 元
可以买 1 个乐高,还剩 2 元
试试自己输入不同的天数,看看结果有什么变化。
接下来学什么?
你已经学会了整数和它的运算。接下来可以:
- 学习浮点数(带小数点的数,比如
3.14、2.5) - 学习变量(像
score、money这样用来存数据的名字) - 学习字符串(比如
"你好")和如何进行类型转换 - 学习条件判断(
if语句)做更多判断
整数是编程的基石,就像你搭积木时用的第一块积木。现在就去你电脑上的Python环境(IDLE或在线编辑器)里敲一敲上面的代码吧,试试自己编几个整数运算,你会发现编程其实很有趣!
例题精讲
1单选题
在Python中,执行表达式 7 // 2 的结果是什么?
A3.5
B3
C4
D3.0
2单选题
在Python中,int(3.9) 的结果是多少?
A3
B4
C3.9
D报错
3判断题
在Python 3中,整数类型没有固定大小限制,可以表示任意大的整数。
4填空题
阅读以下代码,在横线处填写适当的内容,使得程序输出4。
x = 20
y = ___
result = x // y
print(result)5填空题
阅读以下代码,在横线处填写适当的运算符,使得输出结果为<class 'int'>。
a = 10
b = 3
c = a ___ b
print(type(c))