Function Use: To print all the directories in a folder/sub-folder or directory import os def get_list_or_dir(local_dir): for dir_or_file in os.listdir(local_dir): if os.path.isdir(dir_or_file): path = os.path.join(local_dir, dir_or_file) print(dir_or_file, 'This is a directory') get_list_or_dir(path) else: print(dir_or_file) Path = os.getcwd() or define the path from where you need a file Function Call: get_list_or_dir(path)
The Problem:
If the numbers 1 to 5 are written out in words: one, two, three, four, five, then there are 3 + 3 + 5 + 4 + 4 = 19 letters used in total.
If the numbers 1 to 5 are written out in words: one, two, three, four, five, then there are 3 + 3 + 5 + 4 + 4 = 19 letters used in total.
If all the numbers from 1 to 1000 (one thousand) inclusive were written out in words, how many letters would be used?
NOTE: Do not count spaces or hyphens. For example, 342 (three hundred and forty-two) contains 23 letters and 115 (one hundred and fifteen) contains 20 letters. The use of "and" when writing out numbers is in compliance with British usage.
The Solution:
This problem requires you to have some knowledge about a library "num2words"; specifically created to convert numbers into words into python.
Convert numbers into words in Python
>>> from num2words import num2words
>>> num2words(3)
'three'
>>> num2words(200)
'two hundred'
# The Program
>>> count = 0
>>> for i in range(1, 1001):
y = num2words(i)
for i in y:
if i == ' ':
count = count
elif i == '-':
count = count
else:
count = count + 1
>>> count
21124
Comments
Post a Comment