Also habe ich ein Programm in Python geschrieben, um zu versuchen, eine Zahl in die Buchstabe-Version dieser Zahl zu konvertieren. Bsp .: 323 -> dreihundertdreiundzwanzig Das Problem, das ich habe, ist, dass die eine der Variablen nicht den richtigen Wert anzeigt, wenn der Prozess abgeschlossen ist und die Ausgabe angezeigt wird. Die gewünschte Ausgabe wird in etwa wie folgt aussehen:Variable speichert nicht den richtigen Wert in Python
Enter a number under 999: 323
323 -> three hundred twenty-three
sieht aber stattdessen wie folgt aus:
Enter a number under 999: 323
23 -> three hundred twenty-three
Wenn jemand kann mir dabei helfen, herauszufinden, ich es sehr zu schätzen würde. Hier ist mein Code:
from __future__ import print_function, division
import sys
input = raw_input
n = int(input("Enter a number under 999: "))
if n >= 999:
print("Well, you didn't follow directions.")
sys.exit(1)
word = ""
hundred = n//100
if hundred == 1:
word += "one hundred"
elif hundred == 2:
word += "two hundred"
elif hundred == 3:
word += "three hundred"
elif hundred == 4:
word += "four hundred"
elif hundred == 5:
word += "five hundred"
elif hundred == 6:
word += "six hundred"
elif hundred == 7:
word += "seven hundred"
elif hundred == 8:
word += "eight hundred"
elif hundred == 9:
word += "nine hundred"
if hundred > 0:
word += " "
n = n%100
if n == 10:
word += ' ten'
elif n == 11:
word += ' eleven'
elif n == 12:
word += ' twelve'
elif n == 13:
word += ' thirteen'
elif n == 14:
word += ' fourteen'
elif n == 15:
word += ' fifteen'
elif n == 16:
word += ' sixteen'
elif n == 17:
word += ' seventeen'
elif n == 18:
word += ' eighteen'
elif n == 19:
word += ' nineteen'
else:
ones = n%10
tens = n//10
if tens == 2:
word += "twenty"
elif tens == 3:
word += "thirty"
elif tens == 4:
word += "fourty"
elif tens == 5:
word += "fifty"
elif tens == 6:
word += "sixty"
elif tens == 7:
word += "seventy"
elif tens == 8:
word += "eighty"
elif tens == 9:
word += "ninety"
if tens > 0 and ones > 0:
word += '-'
if ones == 1:
word += 'one'
elif ones == 2:
word += 'two'
elif ones == 3:
word += 'three'
elif ones == 4:
word += 'four'
elif ones == 5:
word += 'five'
elif ones == 6:
word += 'six'
elif ones == 7:
word += 'seven'
elif ones == 8:
word += 'eight'
elif ones == 9:
word += 'nine'
print("{} -> {}".format(n, word))
Oh und btw, ist meine Klasse zu lernen Python 3, während ein Python-2-Interpreter ist also, warum der Code einige seltsame Aspekte zu ihm hat.
'n = n% 100' ändert' 323' zu '23'. – Barmar