2010-02-10 4 views

Antwort

11
tuple(int(x.strip()) for x in raw_input().split(',')) 
+0

Wie die Benutzereingabe jetzt geben sollte. Ich habe versucht, 4,0 ... es nicht – Bruce

+0

Arbeit bekomme ich die Output- Quelle Geben Sie 0,4 eingeben 3,2 ('0', '4') Ziel ('3', '2') – Bruce

+0

Ah, ich habe meine Antwort ein wenig modifiziert. Vergleichen Sie, was Sie haben mit dem, was ich geschrieben habe. –

1

Wenn Sie noch den Benutzer möchten zweimal usw. aufgefordert werden

print 'Enter source' 
source = sys.stdin.readline().strip() #strip removes the \n 

print 'Enter target' 
target = sys.stdin.readline().strip() 

myTuple = tuple([int(source), int(target)]) 

Dies ist wahrscheinlich weniger pythonic, aber didaktisch ...

+0

Quelle und Ziel sind selbst Tupel. Wir können int() für Tupel verwenden. – Bruce

+0

Entschuldigung, die gewünschte Ausgabe ist unklar. In jedem Fall sollten string.strip() und int() Ihnen erlauben, genau das zu erhalten, was Sie brauchen, sei es zwei Tupel einer einzelnen ganzen Zahl oder ein Tupel mit den Quell- und Zielwerten. – mjv

5

Es stellte sich heraus, dass int hat einen ziemlich guten Job Leerzeichen Strippen, so gibt es keine Notwendigkeit strip

tuple(map(int,raw_input().split(','))) 

Zum Beispiel zu verwenden:

>>> tuple(map(int,"3,4".split(','))) 
(3, 4) 
>>> tuple(map(int," 1 , 2 ".split(','))) 
(1, 2) 
Verwandte Themen