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
"""
number = None
while number is None:
try:
number = int(input(f'{prompt} > '))
if number < 0:
print('Gib eine positive Ganzzahl ein')
number = None
except ValueError:
print('Gib eine positive Ganzzahl ein')
return number
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()