2017-12-11 13 views
-1

Ich habe im Moment ein kleines Problem, ich bin ziemlich neu bei Python und für Leute, die viel programmieren, scheint das wirklich einfach zu beantworten. Wir wurden beauftragt, eine '99 Flaschen Bier an der Wand'-Herausforderung zu machen und ich wollte meine etwas besser machen, indem ich den Benutzer frage, was er in der Flasche haben möchte. Allerdings halte ich eine error: TypeError: must be str, not builtin_function_or_methodTypeError: muss str sein, nicht builtin_function_or_method

input("What would you like inside your bottle?") 

def sing(b, end): 
    print(b or 'No more', 'bottle'+('s' if b-1 else ''), end) 

for i in range(99, 0, -1): 
    sing(i, 'of'+input+'on the wall,') 
    sing(i, 'of'+input+',') 
    print('Take one down, pass it around,') 
    sing(i-1, 'of'+input+'on the wall.\n') 

jede mögliche Hilfe wäre sehr geschätzt bekommen, dank: 3

+1

Bitte geben Sie uns Codebeispiele im Text, damit wir ausschneiden und einfügen können. So können wir Ihnen effektiver helfen. aber sieh dir deine Printaussage in sing an. Du kombinierst if-Anweisungen und oder und Sachen innerhalb des Drucks. Sollte das nicht tun – Ivonet

+2

Veröffentlichen Sie den Code hier, kein Link zu ihm. Wenn der Code zu lang ist, reduzieren Sie ihn auf ein [Minimales, vollständiges und verifizierbares Beispiel] (https://stackoverflow.com/help/mcve). – GPhilo

+0

Code anstelle von Screenshots einfügen. – gonczor

Antwort

2

input() Methode liefert Wert einer Variablen zugewiesen werden. Compare with the docs. Jetzt referenzieren Sie eine Methode, keine Variable.

Sie brauchen so etwas wie

something = input('Say sth. ') 
print(something) 
1

input eine eingebaute Funktion ist, also wenn Sie 'of'+input+'on the wall' tun, Sie versuchen, nur eine Funktion in einen String verketten, die nicht viel Sinn macht;)
(der Dolmetscher sagt Ihnen ausdrücklich, dass)

input einen String zurückgibt Sie nicht zu einer variablen nicht zuweisen, so versuchen user_input = input("What would you like inside the bootle?") und dann user_input statt input in Ihrem Code verwenden.

Verwandte Themen