def main():
"""
main program
:return: None
"""
numerals = dict()
read_numerals(numerals)
letters = input('Schriftzeichen > ')
decimal_value = convert(letters, numerals)
print(f'{letters} entspricht {decimal_value}')
def read_numerals(numeral_dict):
"""
reads the numerals and their values
:param numeral_dict:
:return: None
"""
character = input('Zahlzeichen (§=Ende) > ')
while character != '§':
value = read_int('Wert')
numeral_dict[character] = value
character = input('Zahlzeichen (§=Ende) > ')
def read_int(prompt):
"""
asks the user to input a positive integer
:param prompt:
:return: number
"""
while True:
try:
num = int(input(prompt))
except ValueError:
print("Please, enter a whole number!")
continue
else:
if num < 0:
print("Please, enter a number greater than or equal to", 0)
continue
return num
'''
# Alternative Lösung:
from input_reader import read_int
return read_int(prompt, 0)
'''
def convert(letters, numeral_dict):
"""
converts the numerals into a decimal number
:param letters:
:param numeral_dict:
:return:
"""
total = 0
for character in letters:
total += numeral_dict[character]
return total
if __name__ == '__main__':
main()