gpt4 book ai didi

python - 如何在不使用内置函数的情况下将整数转换为字符串?

转载 作者:行者123 更新时间:2023-12-01 01:34:59 25 4
gpt4 key购买 nike

我想问如何在不使用内置函数的情况下将整数转换为字符串。

这是原来的问题:

编写一个函数string(ls),返回列表 ls 的字符串表示形式。

注意:不要使用内置的 str() 方法来执行此任务。我们正在尝试模仿它的行为。

s = string(['a','b','c'])   # '['a','b','c']'

s = string([1,2,3]) # '[1, 2, 3]'

s = string([True]) # '[True]'

s = string([]) # '[]'

限制:不要只返回 str(ls)!不要使用 str.join 方法,不要使用切片。

这是我的代码:

def string(ls):
if len(ls)==0:
mess="'[]'"
return mess
elif isinstance(ls[0],str):
i=0
mess="'["
while True:
if i==len(ls)-1:
elem="'"+ls[i]+"'"
mess=mess+elem
break
else:
elem="'"+ls[i]+"', "
mess=mess+elem
i=i+1
mess=mess+"]'"
return mess
else:
i=0
mess="'["
while True:
if i==len(ls)-1:
elem=str(ls[i])+"]'"
mess=mess+elem
break
else:
elem=str(ls[i])+', '
mess=mess+elem
i=i+1
return mess

最佳答案

您可以继续将给定整数除以 10,并将余数添加到输出字符串中。使用'0'的序数加上余数得到余数的序数,然后使用chr函数将其转换为字符串:

def int_to_string(i):
string = ''
while True:
i, remainder = divmod(i, 10)
string = chr(ord('0') + remainder) + string
if i == 0:
break
return string

这样:

print(int_to_string(0))
print(int_to_string(5))
print(int_to_string(65))
print(int_to_string(923))

将输出:

0
5
65
923

关于python - 如何在不使用内置函数的情况下将整数转换为字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52477822/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com