def main():
    print(reverseString("Hello"))

def reverseString(string):
    newString=""
    for i in range(len(string)-1,-1):
        newString+=string[i]
    print newString

main()

Ich habe versucht, diesen Code auszuführen, aber es wird nichts gedruckt und ich weiß nicht, wo das Problem liegt.

0
Hawraa Alsaba 23 Feb. 2020 im 03:54

3 Antworten

Beste Antwort

Hier fehlt der Schritt von -1 in range():

for i in range(len(string)-1, -1, -1):

Ohne den Schritt wird die for -Schleife sofort beendet und newstring als '' belassen.

Übrigens: Sie geben nichts von reverseString() zurück, also:

print(reverseString("Hello"))

Druckt None, was meiner Meinung nach nicht erwünscht ist. Sie möchten wahrscheinlich:

return newString

In reverseString().

2
AChampion 23 Feb. 2020 im 01:09

Versuche dies:

def main():
    print(reverseString("Hello"))


def reverseString(string):
    newString=""
    for i in range(len(string)):
        newString+=string[len(string)-i-1]
    return newString

main()
-1
Darkmoon Chief 23 Feb. 2020 im 01:01

Weil Ihre reverseString-Methode keinen Rückgabewert hat. Versuchen Sie, den Druck in Ihrer Hauptmethode zu entfernen.

0
Christian Garcia 23 Feb. 2020 im 01:30