小编Mou*_*yer的帖子

如何在不使用列表的情况下转换字符串中的数字?

我的教授希望我创建一个函数,该函数返回字符串中的数字总和但不使用任何列表或列表方法.

操作时该功能应如下所示:

>>> sum_numbers('34 3 542 11')
    590
Run Code Online (Sandbox Code Playgroud)

通常,使用列表和列表方法时,很容易创建这样的函数.但试图在不使用它们的情况下这样做是一场噩梦.

我尝试了以下代码,但它们不起作用:

 >>> def sum_numbers(s):
    for i in range(len(s)):
        int(i)
        total = s[i] + s[i]
        return total


>>> sum_numbers('1 2 3')
'11'
Run Code Online (Sandbox Code Playgroud)

不是将1,2和3全部转换为整数并加在一起,而是将字符串设为'11'.换句话说,字符串中的数字仍未转换为整数.

我也试过使用一个map()函数,但我得到了相同的结果:

>>> def sum_numbers(s):
    for i in range(len(s)):
        map(int, s[i])
        total = s[i] + s[i]
        return total


>>> sum_numbers('1 2 3')
'11'
Run Code Online (Sandbox Code Playgroud)

python string for-loop python-3.x

5
推荐指数
1
解决办法
194
查看次数

删除数字字符串python

对于我的赋值,我必须创建一个函数,该函数返回一个与给定字符串相同但删除了数字的新字符串.

示例:删除数字('abc123')将返回字符串'abc'.

我已经尝试了几乎所有我能想到的但是它不能正常工作:(

def test(str):
    for ch in str:
        num = ['0', '1', '2', '3', '4', '6', '7', '8', '9']
        if ch == num[0]:
            return str.replace(ch, '')
        elif ch == num[1]:
            return str.replace(ch, '')
        elif ch == num[2]:
            return str.replace(ch, '')
        elif ch == num[3]:
            return str.replace(ch, '')
        elif ch == num[4]:
            return str.replace(ch, '')
        elif ch == num[5]:
            return str.replace(ch, '')
        elif ch == num[6]:
            return str.replace(ch, '')
        elif ch == num[7]:
            return str.replace(ch, '')
        elif ch == num[8]: …
Run Code Online (Sandbox Code Playgroud)

python string

3
推荐指数
1
解决办法
1万
查看次数

标签 统计

python ×2

string ×2

for-loop ×1

python-3.x ×1