📜  一串数字的组合(1)

📅  最后修改于: 2023-12-03 15:21:26.302000             🧑  作者: Mango

一串数字的组合

在编程中,我们经常需要处理一串数字的组合,这里就来介绍一些相关的知识和技巧。

字符串转数字

有时候我们需要将一个字符串转为数字进行计算和比较等操作。在 Python 中,可以使用内置函数 int() 将字符串转为整数,例如:

num_str = "123"
num_int = int(num_str)
print(num_int)  # 输出 123

如果字符串表示的是浮点数,也可以使用 float() 将其转为浮点数。需要注意的是,如果字符串不是一个有效的数字表示,就会抛出 ValueError 异常。

数字转字符串

与字符串转数字相反,有时候我们需要将一个数字转为字符串进行输出等操作。在 Python 中,可以使用内置函数 str() 将数字转为字符串,例如:

num_int = 123
num_str = str(num_int)
print(num_str)  # 输出 "123"

如果想要将数字转为指定进制下的字符串,可以使用格式化字符串,例如:

num_int = 255
num_hex_str = f"{num_int:x}"
print(num_hex_str)  # 输出 "ff"

这里使用了格式化字符串中的 :x 占位符,表示将该参数按十六进制输出。

进制转换

在编程中,我们需要经常进行进制转换操作,例如将十进制数转为二进制数、八进制数或十六进制数,或者反过来。在 Python 中,可以使用内置函数 bin()oct()hex() 分别将一个十进制数转为二进制数、八进制数和十六进制数的字符串表示,例如:

num_int = 255
num_bin_str = bin(num_int)
num_oct_str = oct(num_int)
num_hex_str = hex(num_int)
print(num_bin_str)  # 输出 "0b11111111"
print(num_oct_str)  # 输出 "0o377"
print(num_hex_str)  # 输出 "0xff"

需要注意的是,这些函数返回的字符串表示中包含进制标识符(0b0o0x),可以使用字符串的切片操作去掉。

如果想要将一个二进制数、八进制数或十六进制数转为十进制数,可以使用内置函数 int(),并指定第二个参数为相应的进制数,例如:

num_bin_str = "0b11111111"
num_oct_str = "0o377"
num_hex_str = "0xff"
num_bin_int = int(num_bin_str, 2)
num_oct_int = int(num_oct_str, 8)
num_hex_int = int(num_hex_str, 16)
print(num_bin_int)  # 输出 255
print(num_oct_int)  # 输出 255
print(num_hex_int)  # 输出 255
求和、最大值和最小值

假设我们有一个列表或元组,其中包含了一些数字,我们可以使用内置函数 sum()max()min() 分别求出这些数字的和、最大值和最小值。例如:

num_list = [1, 2, 3, 4, 5]
num_sum = sum(num_list)
num_max = max(num_list)
num_min = min(num_list)
print(num_sum)  # 输出 15
print(num_max)  # 输出 5
print(num_min)  # 输出 1
扩展阅读

Python 中数字类型的官方文档:https://docs.python.org/3/library/numeric.html

Python 中字符串类型的官方文档:https://docs.python.org/3/library/stdtypes.html#text-sequence-type-str