#### Exercise 35

Write a python algorithm as a function which takes as parameter a string text T and which returns the list of words containing at least one number and one capital letter. __Example__: if** T = ‘Python2.7 has been replaced by Python3.X since 2018’**, the algorithm return: **[‘Python2.7’, ‘Python3.X’]**

#### Solution

`# creating a function which calculates the number of digits on a string`

def number_digit (s):

# initialization of the number of digits

nbrDigit = 0

for x in s:

if x.isdigit ():

nbrDigit = nbrDigit + 1

return nbrDigit

# creation of a function which calculates the number of capital letters in a string

def number_maj (s):

# initializing the number of capitals

nbrMaj = 0

for x in s:

if x.isupper ():

nbrMaj = nbrMaj + 1

return nbrMaj

# creating a function which returns the list of words containing at least one number and one uppercase

def listMajDigits (s):

# initialization of the searched words list

listWord = []

# convert string s to a list

L = s.split ()

for word in L:

if number_digit (word)> 0 and number_maj (word)> 0:

listWord.append (word)

return listWord

# Example

T = "Python2.7 has been replaced by Python3.X since 2018"

print (listMajDigits (T)) # the output is: ['Python2.7', 'Python3.X']

**Younes Derfoufi**

my-courses.net

my-courses.net