Python Sum of digits in a string function

2024/9/22 16:36:43

My function needs to take in a sentence and return the sum of the numbers inside. Any advice?

def sumOfDigits(sentence):sumof=0for x in sentence:if sentence.isdigit(x)== True:sumof+=int(x)return sumof
Answer

Replace this:

if sentence.isdigit(x)== True:

to:

if x.isdigit():

examples:

 >>> "1".isdigit()True>>> "a".isdigit()False

your code should be like:

def sumOfDigits(sentence):sumof=0for x in sentence:if x.isdigit():sumof+=int(x)return sumof

Some pythonic ways:

Using List Comprehension:

>>> def sumof(sentence):
...     return sum(int(x) for x in sentence if x.isdigit())
... 
>>> sumof("hello123wor6ld")
12

Using Filter, map:

>>> def sumof(sentence):
...     return sum(map(int, filter(str.isdigit, sentence)))
... 
>>> sumof("hello123wor6ld")
12

Using Regular expression, extraction all digit:

>>> import re
>>> def sumof(sentence):
...     return sum(map(int, re.findall("\d",sentence)))
... 
>>> sumof("hello123wor6ld")
12
https://en.xdnf.cn/q/119116.html

Related Q&A

How to select columns using dynamic select query using window function

I have sample input dataframe as below, but the value (clm starting with m) columns can be n number. customer_id|month_id|m1 |m2 |m3 .......m_n 1001 | 01 |10 |20 1002 | 01 |20…

Downloading Books from website with python

Im downloading books from the website, and almost my code runs smoothly, but when I try to open the pdf Book on my PC. An error generated by Adobe Acrobat Reader that this is not supported file type.He…

Discord.py How can I make a bot delete messages after a specific amount of time

I have a discord bot that sends images to users when they use the !img command, I dont want people to request an image and then have it sit there until someone deletes it. Is there any way I can make i…

How to encode and decode a column in python pandas?

load = pd.DataFrame({A:list(abcdef),B:[4,5,4,5,5,4],C:[7,8,9,4,2,0],D:[1,3,5,4,2,0],E:[5,3,6,9,2,4],F:list(aaabbb)})How to encode and decode column F.Expected Output:Should have two more columns with e…

Pygame module not found [duplicate]

This question already has answers here:Why do I get a "ModuleNotFoundError" in VS Code despite the fact that I already installed the module?(23 answers)Closed 3 months ago.I have installed p…

Working with Lists and tuples

My data looks like:X=[1,2,3,4]But I need it to look like: Y=[(1,2,3,4)]How does one do this in python?

Football pygame, need help on timer [closed]

Closed. This question needs details or clarity. It is not currently accepting answers.Want to improve this question? Add details and clarify the problem by editing this post.Closed 4 years ago.Improve…

Unable to Install GDAL Using PIP on Python

Im trying to install gdal in python3.8.8 (Windows 10) and im getting below error I have install Visual Studio Build Tools 2019 and reboot my PC Downgrade my Python from 3.9.5 to 3.8.8 C:\Program Files…

Append text to the last line of file with python

First, I use echo hello, >> a.txt to create a new file with one line looks like that. And I know \n is at the last of the line.Then I get some data from python, for example "world", I w…

Python Caesar Cipher [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.Want to improve this question? Update the question so it focuses on one problem only by editing this post.Closed 2…