继续在牛客网 练习Python题。
第二章是类型转换。
将x
转换成其它类型的一般方法是y = 类型(x)
, 如y = int(x)
下面看具体的题目
7 小数化整数
输入:一个浮点小数。
输出:将其强制类型转换为int后的结果。
x = int(float(input() )) print(x)
注:由于用Input读取的是字符串,所以先用float转换成浮点/小数,再转换int。
8 为整数增加小数点
和第7题类似,只是这次是将整数转换成小数。
输入:一个整数。
输出:强制类型转换后的结果,换行再输出变量类型。
x = int(input()) x = float(x) print(x) print(type(x))
这里用type(x)
输出x的变量类型。
9 十六进制数字的大小
输入:
input读入一个十六进制数字,按照字符串的形式包括数字0-9、字母A-F。
输出:
输出读入数字的十进制大小。
x = input() print(int(x,base=16))
base参数是数字的基,或者说是base进制。
具体用法看int的文档
class int(x, /, base=10)
返回一个基于数字或字符串 x 构造的整数对象,或者在未给出参数时返回 0。 如果 x 定义了 int(),int(x) 将返回 x.int()。 如果 x 定义了 index(),它将返回 x.index()。 如果 x 定义了 trunc(),它将返回 x.trunc()。 对于浮点数,它将向零舍入。
如果 x 不是数字,或者有 base 参数,x 必须是字符串、bytes、表示进制为 base 的 整数字面值 的 bytearray 实例。该文字前可以有 + 或 - (中间不能有空格),前后可以有空格。一个进制为 n 的数字包含 0 到 n-1 的数,其中 a 到 z (或 A 到 Z )表示 10 到 35。默认的 base 为 10 ,允许的进制有 0、2-36。2、8、16 进制的数字可以在代码中用 0b/0B 、 0o/0O 、 0x/0X 前缀来表示。进制为 0 将安照代码的字面量来精确解释,最后的结果会是 2、8、10、16 进制中的一个。所以 int(‘010’, 0) 是非法的,但 int(‘010’) 和 int(‘010’, 8) 是合法的。