首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Python中将字符串转换为整数

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

Stack Overflow用户
提问于 2018-09-19 00:28:10
回答 2查看 47关注 0票数 0

“”三态数是指其立方体以数字本身结尾的数字。

例如:

代码语言:javascript
复制
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)

编写一个程序来检查用户输入是否为三态数字。""“

代码语言:javascript
复制
num = int(input("Enter a number:"))
print(num)

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

我试着运行代码,并在第22行(最后一行)获得了一个TypeError,尽管为了分割变量,我将变量num_cube转换为字符串。为什么不起作用?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-09-19 00:45:28

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

你可以这样做:

代码语言:javascript
复制
print(str(num_cube).endswith(num))

您目前实现它的方式是“硬编码”从stdin读取的数字的预期长度,因此假设它总是长度为1。

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

代码语言:javascript
复制
>>> 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
票数 0
EN

Stack Overflow用户

发布于 2018-09-19 00:34:08

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

代码语言:javascript
复制
print(str(num_cube)[-3:] == str(num))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52396291

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档