Python 3.x 将整数转换为字符串,然后再转换回整数
我正在做这个python练习,目标是让用户输入一个整数,函数应该能够重新排列(降序)。我决定首先将整数转换为字符串,这样我可以从中进行迭代,结果存储在一个列表中。但当我尝试将它转换回整数时,它没有被转换Python 3.x 将整数转换为字符串,然后再转换回整数,python-3.x,Python 3.x,我正在做这个python练习,目标是让用户输入一个整数,函数应该能够重新排列(降序)。我决定首先将整数转换为字符串,这样我可以从中进行迭代,结果存储在一个列表中。但当我尝试将它转换回整数时,它没有被转换 def conversion(nums): int_to_str = str(nums) list_int = [] ans = [] for x in int_to_str: list_int.append(x) list_
def conversion(nums):
int_to_str = str(nums)
list_int = []
ans = []
for x in int_to_str:
list_int.append(x)
list_int.sort(reverse=True)
ans = list_int
print (type(ans))
print(ans)
ans = ''.join(list_int)
print(type(ans))
print(ans)
str_to_int = [int(x) for x in list_int] # LIST COMPREHENSION to convert
# string back to integer type
print(type(str_to_int))
print(str_to_int)
final = ''.join(str_to_int)
print(type(final))
print(final)
如下面的代码所示,我尝试打印变量的类型,以便查看它是否被转换
def conversion(nums):
int_to_str = str(nums)
list_int = []
ans = []
for x in int_to_str:
list_int.append(x)
list_int.sort(reverse=True)
ans = list_int
print (type(ans))
print(ans)
ans = ''.join(list_int)
print(type(ans))
print(ans)
str_to_int = [int(x) for x in list_int] # LIST COMPREHENSION to convert
# string back to integer type
print(type(str_to_int))
print(str_to_int)
final = ''.join(str_to_int)
print(type(final))
print(final)
在此处输入代码
['9', '5', '4', '2', '1', '0']
954210
[9, 5, 4, 2, 1, 0]
TypeError:序列项0:应为str实例,找到int
如果我理解您的问题,您将收到一个输入(假设字符串表示为某个int),您希望将该输入转换为整数列表,然后反向排序并返回。如果是这样的话:
def reverse_numeric_input(x):
try:
if type(x) != str:
x=str(x)
lst=[int(i) for i in x]
lst.sort(reverse=True)
return "".join([str(i) for i in lst])
except Exception as e:
print("%s error coverting ur input caused by: %s" % (e.__class__.__name__, str(e)))
您发布的代码中的问题在于这一行
final=''。join(str_to_int)
当您调用join
时,必须首先将连接的项目转换为str()
。希望能有所帮助。很抱歉,这让人困惑,你是在要求一个反转整数输入的函数吗?i、 e.输入:123
-->输出:321
?