Ho bisogno di trasformare i numeri da 1 a 99 in parole. Questo è quello che ho ottenuto finora:Come convertire i numeri in parole 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()
Ora, il problema più grande che ho finora è che il caso, elif e else non sembrano lavorare. Viene eseguita solo la prima istruzione if.
Il secondo problema è la creazione della versione stringa dei numeri 20-99 ....
prega di aiuto, grazie in anticipo.
P.S. Sì, conosco la libreria num2word, ma non sono autorizzato a utilizzarla.
Come nota a margine, non hai bisogno di simboli linea di continuazione '' \\ qui. – georg
In una nota a margine, dovresti trasmettere l'input usando 'int' invece di usare' eval'. –
Non penso che intendiate modificare la specifica del problema in base alle risposte fornite e specificare nuovamente un nuovo problema. Ciò rende irrilevanti le risposte precedenti corrette. – RMcG