Skip to content

数字

进入交互模式

python

大数

123456789_123456789_123456789

123456789_123456789_123456789 + 1
123456789123456789123456789

123456789123456789123456790

生成 1 到 10 的数组

list(range(1, 11))
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

加法

1 + 2

0.1 + 0.2
3

0.30000000000000004

存储二进制和显示十进制转换,在小数范围内因浮点数有限位数而存在误差。

减法

7 - 2

0.7 - 0.2
5

0.49999999999999994

乘法

3 * 4

0.3 * 0.4
12

0.12

除法

8 / 2

7 / 2

0.8 / 0.2
4.0

3.5

4.0

取整

8 // 2

7 // 2

int(8 / 2)

int(7 / 2)

round(8 / 2)

round(7 / 2)

round(5 / 2)
4

3

4

3

4

4

2

round 函数计算时遵循:四舍六入,五取偶。

取余

8 % 2

7 % 2
0

1

取整和取余

divmod(8, 2)

divmod(7, 2)
(4, 0)

(3, 1)

幂次

2 ** 3

pow(2, 3)
8

8

退出交互模式

exit()

货币面值 100、50、20、10、5、1 ,给定金额,贪婪算法找零。

# a.py

def greed(coins, amount):
    cnt = []
    for coin in coins:
        cnt.append(amount // coin)
        amount %= coin
    return cnt

coins = [100, 50, 20, 10, 5, 1]
print(coins)
print(greed(coins, 598))
[100, 50, 20, 10, 5, 1]
[5, 1, 2, 0, 1, 3]

从 2049 年 10 月起,输出连续 12 个月。

# b.py

def ym(year, month, cnt):
    return [year + (month - 1 + cnt) // 12, (month - 1 + cnt) % 12 + 1]

for i in range(0, 12):
    print(ym(2049, 10, i))
[2049, 10]
[2049, 11]
[2049, 12]
[2050, 1]
[2050, 2]
[2050, 3]
[2050, 4]
[2050, 5]
[2050, 6]
[2050, 7]
[2050, 8]
[2050, 9]

月份从 1 开始,计算取整、取余有减一、加一的操作。

联系 math@baima.site