Ich muss Zahlen von 1 - 99 in Wörter umwandeln. Das ist, was ich bisher habe:Konvertieren von Zahlen in Wörter in Python
num2words1 = {1: 'One', 2: 'Two', 3: 'Three', 4: 'Four', 5: 'Five', \
6: 'Six', 7: 'Seven', 8: 'Eight', 9: 'Nine', 10: 'Ten', \
11: 'Eleven', 12: 'Twelve', 13: 'Thirteen', 14: 'Fourteen', \
15: 'Fifteen', 16: 'Sixteen', 17: 'Seventeen', 18: 'Eighteen', 19: 'Nineteen'}
num2words2 = ['Twenty', 'Thirty', 'Forty', 'Fifty', 'Sixty', 'Seventy', 'Eighty', 'Ninety']
def number(Number):
if (Number > 1) or (Number < 19):
return (num2words1[Number])
elif (Number > 20) or (Number < 99):
return (num2words2[Number])
else:
print("Number Out Of Range")
main()
def main():
num = eval(input("Please enter a number between 0 and 99: "))
number(num)
main()
Nun, das größte Problem, dass ich so weit ist, dass das, wenn elif und else-Anweisungen zu arbeiten scheinen nicht. Nur die erste if-Anweisung wird ausgeführt.
Das zweite Problem ist die Schaffung der String-Version der Zahlen von 20 bis 99 ....
Bitte helfen, danke im voraus.
P.S. Ja, ich kenne die num2word Bibliothek, aber ich darf sie nicht benutzen.
Als Randbemerkung, die Sie nicht Zeilenfortsetzungs Symbole müssen '' \\ hier. – georg
Nebenbei bemerkt sollten Sie die Eingabe mit 'int' statt mit' eval' umwandeln. –
Ich glaube nicht, dass Sie Ihre Problemspezifikation basierend auf den bereitgestellten Antworten ändern und ein neues Problem neu festlegen sollten. Das macht die richtigen vorherigen Antworten irrelevant. – RMcG