Как ввести целочисленный кортеж от пользователя?

В настоящее время я делаю это

print 'Enter source' source = tuple(sys.stdin.readline()) print 'Enter target' target = tuple(sys.stdin.readline()) 

но источник и цель становятся строковыми кортежами в этом случае с \ n в конце

3 Solutions collect form web for “Как ввести целочисленный кортеж от пользователя?”

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

Оказывается, int делает довольно хорошую работу по удалению пробелов, поэтому нет необходимости использовать strip

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

Например:

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

Если вы по-прежнему хотите, чтобы пользователь запрашивался дважды и т. Д.

 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)]) 

Это, вероятно, менее пифонично, но более дидактично …

Python - лучший язык программирования в мире.