2016-08-23 5 views
0

Я немного новичок в python и работаю над заданием с другом для школы. Мы хотели попросить имя пловца, а затем спросить, в какое время им удалось достичь. Мы хотели программу работать так:int ввод со строкой и переменной

Name = input('Input swimmers name: ') 
Time = int(input('What time did',Name,'achieve? ') 

Однако он не работает. Что мы можем использовать здесь, что позволит нам спросить время пловца, используя имя пловца в вопросе?

+1

' 'Foo' + Имя + bar'' –

ответ

3

Вы должны пройти одну строку в input, вы можете это сделать первую конкатенацию вашей 3 строки:

Time = int(input('What time did' + Name + 'achieve? ') 

КСТАТИ: "достижение" с "е" ;-)

+1

Вы также можете использовать: ' Time = INT (вход ('? в какое время {} получения идеальной».format (Имя)) '. Я также не буду использовать 'int()' там, если кто-то введет 0: 56.15 или что-то в этом роде. – Andrew

+0

Спасибо за этого человека, я очень удивился тому, как быстро это ответили. –

+0

@ А это на самом деле медленнее: см. Мой комментарий в другом ответе. – Julien

2

You можно также использовать% s для конкатенации

Time = int(input('What time did %s achive? ' % Name)) 
+1

Если вы хотите, чтобы ваш ответ был лучше, вы можете создать резервную копию своего «быстрее чем +» с некоторым источником :) – grael

+1

Особенно, если это неправильно ... '% timeit 'В какое время% s было достигнуто? '% "toto" 10000000 циклов, наилучший из 3: 99 нс за цикл', но '% timeit' В какое время '+' toto '+' достиг? Петли 10000000, лучше всего 3: 38,8 нс за цикл' (Обратите внимание, что я не являюсь нисходящим ;-) и для полноты: '% timeit 'В какое время {} удалось? '.format (' toto ') 1000000 циклов, лучше всего 3: 204 нс за цикл' – Julien

+1

Спасибо @grael, Julien за это. Исправлены. узнал что-то. – AceLearn

Смежные вопросы