Dies könnte Python 101 sein, aber ich habe es schwer, Buchstaben in eine gültige Ganzzahl zu ändern.Ändern Sie Buchstaben in Zahlen (ints) in Python
Die Put, was ich versuche einfach
char zu tun >> [] >> int
ich eine Case-Anweisung erstellt mir in Abhängigkeit von bestimmten Zeichen Nummer zu geben, also was ich versucht war Tun
def char_to_int(sometext):
return {
'Z':1,
'Y':17,
'X':8,
'w':4,
}.get(sometext, '')
die die Buchstaben in eine Zahl umwandelt, aber wenn ich versuche, diese Zahl in jedes Argument, das ints dauert es nicht funktioniert.
Ich habe versucht,
text_number = int(sometext)
Aber ich erhalte die Meldung Typeerror: int() Argument ein String oder eine Zahl sein muss, nicht ‚Funktion‘
Also von dort kehrte ich die Art der sometext using
print(type(sometext))
Und der Rückgabetyp ist eine Funktion.
Also meine Frage ist, gibt es eine bessere Art und Weise Buchstaben in Zahlen zu konvertieren, oder einen besseren Weg, um mein Setup-Schalter/def-Anweisung
Heres der vollständige Code, wo seine Forderung
wenn sometext: für i im Bereich (0, len (sometext)): char_to_int (sometext [i])
Ich habe es geschafft zu arbeiten, letztlich, was ich änderte, war der Standard der Definition, ich setze jetzt die Definition zu einer Variablen vor, anstatt es in einer anderen Funktion aufzurufen, und ich habe den Abschnitt I wa recodiert s benutze es.
Ursprünglich sah meine Definition als Favorit markiert
def char_to_int(sometext):
return {
...
}.get(sometext, '')
aber änderte ich den Standard auf 0, so jetzt sieht es aus wie
def char_to_int(sometext):
return {
...
}.get(sometext, 0)
Der alte Code, der die Definition genannt
sahif sometext:
for i in range (0, len(sometext)):
C_T_I = int(char_to_int(sometext[i]))
Ich habe es geändert.
Hoffentlich klärt dies die Änderungen. Danke für die Hilfe von allen.
Wie der Fehler andeutet, sollte 'sometext' eine Zeichenkette oder eine Zahl sein. Warum gibst du eine Funktion an das 'def'? – dunder
Bitte zeigen Sie alle Ihren Code, nicht nur die Funktion.Sie sagen "Geben Sie mir eine Zahl, die von bestimmten Zahlen abhängt". Meinst du "abhängig von bestimmten Buchstaben?". – cdarke
Der Code ist ungefähr 300 Zeilen lang. Ich habe gerade den Teil gepostet, mit dem ich Probleme habe. In Bezug auf "warum ich eine Funktion übergebe", lassen Sie mich einen kurzen Test ausführen, um zu sehen, ob es als Funktion geht – ProjectPokket