如何在Python中将字符串转换为整数

时间:2018-09-19 00:28:11

标签: python string integer

“”“ 三态数是一个数字,其立方体以数字本身结尾。

例如:

Input: 4
Output: true (4^3 is 64, which ends in 4)

Input: 24
Output: true (24^3 = 13824)

Input: 249
Output: true (249^3 = 15438249)

编写程序以检查用户输入是否为三态数。 “”“

num = int(input("Enter a number:"))
print(num)

num_cube = pow(num, 3)
str(num_cube)
print(num_cube[len(num_cube) - 1:] == num)

我尝试运行代码,尽管将变量num_cube转换为字符串以对其进行切片,但在第22行(​​最后一行)却遇到TypeError。为什么它不起作用?

2 个答案:

答案 0 :(得分:0)

str(num_cube)未分配,因此您正在转换它,但仍使用num_cube这是一个整数,因此使用TypeError。另外,您需要将其与另一个字符串进行比较,而不是与另一个整数num进行比较:

print(str(num_cube)[-3:] == str(num))

答案 1 :(得分:0)

您应该使用endswith函数检查多维数据集中的最后“ n”个字符是否等于所传递数字的字符串表示形式。

您可以这样做:

print(str(num_cube).endswith(num))

您当前实现它的方式,是对从标准输入中读取的数字的预期长度进行“硬编码”,并因此假定其始终为长度1。

要更正您的代码,请执行以下操作:

>>> num = "24"
>>> num_cube = str(pow(int(num), 3))
>>> num_cube[len(num_cube) - len(num):] == num
True
>>> num_cube[-len(num):] == num # negative indexing
True