CC++ & Algorithm

Python整数类型 int

简单7
语言版本:C++Python
概述:整数类型就是不带小数点的数字,像1、100、-5,可以做加减乘除运算。

整数:Python里的数字小能手

我们在日常生活中经常用到整数:考试得了95分,口袋里还剩3元零花钱,排队时前面有7个人……这些不带小数点的数字,在Python里叫做整数,对应的类型是 int(integer的缩写)。整数可以表示正数、负数,还可以非常大(Python会自动处理超大数字)。学会使用整数,你就能让电脑帮你做各种计算啦!

什么是整数类型?

整数就是像 -100421024 这样没有小数部分的数。在Python中,只要直接写数字,默认就是整数类型。比如:

score = 95           # 考试分数,整数
money = 3            # 口袋里的零花钱,整数
count = -7           # 负数表示欠了7块,也是整数

你可以随时用 type() 函数查看一个值的类型:

print(type(95))      # 输出:<class 'int'>
print(type(-7))      # 输出:<class 'int'>

整数的基本运算:像计算器一样方便

Python把整数当成计算器来用,支持加、减、乘、除等运算。但要注意,除法有两种:普通除法 / 会得到小数(浮点数),而地板除法 // 会只保留整数部分(向下取整)。取余数用 %

看这个例子,你的零花钱是12元,买了5元零食:

a = 12               # 原有零花钱,整数
b = 5                # 零食价格,整数
print(a + b)         # 加法:17(如果妈妈再给5元,变成17元)
print(a - b)         # 减法:7(买完零食还剩7元)
print(a * b)         # 乘法:60(12元买5份零食?不行,这里只是数学计算)
print(a // b)        # 整数除法:2(12元最多买2份5元零食,商是2)
print(a % b)         # 取余数:2(买2份花10元,剩下2元)
print(a / b)         # 普通除法:2.4(结果是小数,不是整数)

重点提醒/// 的区别:

  • 12 / 52.4(得到浮点数)
  • 12 // 52(只取整数部分,向下取整)
  • 如果是负数,-12 // 5-3(向下取整,因为 -2.4 向下是 -3)

整数可以非常大:Python不怕大数

像C++、Java等语言中,整数有大小限制(比如最大21亿),但Python的 int 可以无限大(只要内存够)。比如计算10的100次方:

big_num = 10 ** 100  # 10的100次方,1后面100个0
print(big_num)       # 输出:10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

你可以用它计算全世界人口、宇宙星星数量……不过要小心,别让程序算太久哦。

把其他类型转换成整数:int()函数

有时候你会遇到一个数字的字符串,比如 "45",想把它当成整数来加。这时可以用 int() 函数转换:

score_str = "95"     # 这是字符串,不是整数
score_int = int(score_str)  # 转换成整数95
new_score = score_int + 5   # 现在可以做加法了
print("新分数是", new_score) # 输出:100

还可以把浮点数截断成整数(去掉小数部分):

num_float = 3.14
num_int = int(num_float)   # 变成3(直接砍掉小数,不是四舍五入)
print(num_int)              # 输出:3

新手容易犯的错误

  1. 误用 / 导致得到小数:比如想计算“48元零花钱,每天花8元,能花几天?”应该用 // 得到整数天数,如果用 / 会得到 6.0(虽然值一样但类型不同)。

    days = 48 // 8   # 正确:6
    days_wrong = 48 / 8  # 得到6.0,是浮点数
    
  2. 忘记转换字符串input() 输入的内容都是字符串,直接做加法会拼接字符串而不是数字。

    age = input("你几岁?")   # 假如输入12
    next_year = age + 1       # 错误!会变成字符串 "12" + 1 → 报错
    

    正确做法:age = int(input("你几岁?"))

  3. 除以0:任何整数除以0都会报错。

    result = 10 / 0  # 报错:ZeroDivisionError
    

完整示例:零花钱计算器

下面这段代码模拟了一个小朋友用零花钱买零食的场景,包含了各种整数运算:

# 零花钱计算器
money = 50               # 初始零花钱,整数
candy_price = 3          # 每颗糖的价格,整数
chips_price = 7          # 每包薯片的价格,整数

# 买了5颗糖和2包薯片
candy_total = candy_price * 5      # 3*5=15元
chips_total = chips_price * 2      # 7*2=14元
total_spent = candy_total + chips_total  # 总共花了29元

# 计算剩余和能买多少包薯片
remaining = money - total_spent    # 还剩21元
max_chips = remaining // chips_price  # 最多再买3包薯片(21//7=3)
left_money = remaining % chips_price  # 买3包薯片后剩下0元

print("原来有", money, "元")
print("买零食花了", total_spent, "元")
print("还剩", remaining, "元")
print("还能再买", max_chips, "包薯片,剩下", left_money, "元")

# 试试大整数:假如零花钱每天翻倍,10天后有多少?
days = 10
total_money = 2 ** days   # 2的10次方=1024元
print("如果每天翻倍,10天后有", total_money, "元")

运行结果:

原来有 50 元
买零食花了 29 元
还剩 21 元
还能再买 3 包薯片,剩下 0 元
如果每天翻倍,10天后有 1024 元

接下来学什么?

整数是我们编程的第一步,学会之后你可以:

  • 学习浮点数(float):带小数点的数字,比如 3.50.99,用于更精细的计算。
  • 学习字符串(str):文本类型,可以和数字相互转换。
  • 学习变量:用名字存储数据,让程序更灵活。
  • 学习输入输出:用 input()print() 与用户互动。

现在你已经掌握了整数,快去用Python算算你的零花钱怎么花最划算吧!

例题精讲

1单选题

在Python中,以下哪个选项是一个合法的整数类型?

A3.14
B"100"
C-25
DTrue
2判断题

在Python中,两个整数进行除法运算(使用/)后,结果一定还是整数。

3判断题

整数类型可以表示正数、负数和零。

4填空题
请补充代码,使变量a的值为整数10。\na = ___
5填空题
请补充代码,计算两个整数15和4的和,并将结果输出。\nprint(15 ___ 4)