Kann nicht konvertieren 'tuple' object to str implizit
a=int(input("please input number of players "))
while (a < 2):
a=int(input("please input at least two players "))
if (a==2):
p1=input("please enter name for player 1 ")
p2=input("please enter name for player 2 ")
x=float(input("please enter initiative for "+(p1)))
y=float(input("please enter initiative for "+(p2)))
x=x,p1
y=y,p2
if (x > y):
lowest=y
highest=x
elif(y > x):
lowest=x
highest=y
print(lowest)
steps=int(input("Please enter number of steps for "+(lowest)+" action" ))
ich habe versucht, alles, was ich denken kann, und es muss dies tun, aber ich kann nicht herausfinden, wie es funktioniert
- Können Sie das klären, ist die Frage? Wo sind Sie konkret ein problem?
- Während für andere Sprachen posting unindented code ist nur die schlechte Angewohnheit, für Python macht den code unmöglich zu testen; Update Einzug.
lowest, highest = sorted((x, y))
spart 5 Linien, und verhindert den Absturz, wennx==y
Du musst angemeldet sein, um einen Kommentar abzugeben.
Das ist genau das, was die Meldung sagen: in der letzten Zeile, in der Teilausdruck
Sie versuchen, Sie zu verketten einer Zeichenfolge, mit der ein Tupel (
lowest
- da ist es entwederx
odery
, und beide sind Tupel aufgrund der Zuordnungx=x,p1
undy=y,p2
), was erfordern würde eine implizite Konvertierung von tuple string.Dieses Problem zu beheben, müssen Sie konvertieren explizit die Tupel string (
str(lowest)
) (obwohl ich vermute, dass Sie tatsächlich wollen, dass nur eines der Elemente der Tupel werden angezeigt).