我编写了将参数中的字符串转换为数字的函数。如果字符串不包含数字,则循环中断,并打印带有数字的新变量。
如果参数为“123”,则函数返回6。我不想返回总和,只是把每个数字排成一行。我如何完成结果123?我不知道!我不知道用什么来代替string2+=float(c)。你知道吗
def try_parse(string):
string2=0
for c in string:
if c.isdigit() == True:
string2 += float(c)
else:
break
return string2
Tags:
我修改了你的代码:
您可以看到,现在我使用string2作为字符串,而不是int(当在int上使用
+
符号时,您可以求和,对于字符串,+
用于连接)。你知道吗此外,我还使用了更可读的
if
条件。你知道吗更新:
现在条件是忽略
'.'
。你知道吗测试:
注意
返回类型是string您可以在任何地方使用^{} 函数:)
您可以将数字的转换留给Python(使用
int()
,而不是float()
;只过滤数字),只需担心过滤:但是如果你真的想自己建立一个数字,你需要考虑到数字不仅仅是它们的面值。^}没有1的值。它的值为100。你知道吗
123
中的{建立数字的最简单方法是将你目前的数字乘以10,然后再加上下一个数字。这样
1
保持1
,12
以1
开始,然后在添加2
时变为10
,等等:您需要为
string2
和str
而不是float
使用字符串。你知道吗你想要
string2 = ""
,和string2 += c
。(您不需要在c
上调用str
,因为它已经是一个字符串了。)相关问题 更多 >
编程相关推荐