#python
#python
Вопрос:
Я новичок в программировании и нажимаю на эту строку:
print('My name is')
for i in range(5):
print('Jimmy Five Times (' str(i) ')')
Я не понимаю эту часть (‘ str(i) ‘)’), если быть более конкретным, знак до и после str(i) [особенно знак после str(i)] .
Я знаю, что знак предназначен для конкатенации строк, но в приведенной выше строке что с чем сочетается?
И в чем разница между первым примером и, скажем:
print('My name is')
for i in range(5):
print('Jimmy five times ' str(i))
Может кто-нибудь привести пример для аналогичного, но сложного примера для такого использования?
Спасибо.
редактировать: я понял, что строка Jimmy пять раз ( , а не Jimmy пять раз, что левая и правая скобки меня смутили. Спасибо всем за ваши быстрые ответы.
Комментарии:
1. Вы сравнили результаты обоих ваших примеров? Это должно рассказать вам все, что вам нужно знать.
2. В первом примере объединены 3 строки: (1)
'Jimmy Five Times ('
, (2)str(i)
и (3)')'
. Также лучший способ написать этоprint(f'Jimmy Five Times ({i})')
и вообще не использовать конкатенацию строк.3. Альтернативой может быть f-строка, например
print(f'Jimmy Five Times ({i})')
, где{i}
python указывает заменить текущее значениеi
в этой позиции строки.4. и если вы решили ее, пожалуйста, отметьте один из принятых ответов (щелкнув галочку) или опубликуйте свой собственный ответ.
Ответ №1:
конкатенирует строки или, если операнды являются числами, добавляет их. Здесь вам нужно сделать str(i)
, потому что if i
не является строкой, тогда python пытается добавить их как целые числа, что невозможно. И окончание ')'
добавит закрывающие круглые скобки к строке, а второй пример не добавляет круглые скобки. Посмотрите сами, первый будет:
My name is
Jimmy Five Times (0)
Jimmy Five Times (1)
Jimmy Five Times (2)
Jimmy Five Times (3)
Jimmy Five Times (4)
И второй:
My name is
Jimmy five times 0
Jimmy five times 1
Jimmy five times 2
Jimmy five times 3
Jimmy five times 4
Ответ №2:
Знак
в контексте строк используется для конкатенации строк.
В частности, в этом примере
операнд не определен для string и int ( i
является целым числом), поэтому сначала вам нужно преобразовать его в string by str(i)
, а затем вы можете связаться со строками.
Ответ №3:
Объяснение
Знак в контексте строк используется для конкатенации строк.
В частности, в этом примере операнд не определен для string и int (i — целое число), поэтому сначала вам нужно преобразовать его в string by str(i)
, а затем вы можете связаться со строками.
Вывод
Вывод первого:
My name is
Jimmy Five Times (0)
Jimmy Five Times (1)
Jimmy Five Times (2)
Jimmy Five Times (3)
Jimmy Five Times (4)
И вывод второго:
My name is
Jimmy five times 0
Jimmy five times 1
Jimmy five times 2
Jimmy five times 3
Jimmy five times 4
Лучшие решения
использование f'
строк python 3.6 up
print(f'Jimmy Five Times ({i})')
использование .format
print('My name is')
for i in range(5):
print('Jimmy Five Times ({0})'.format(i))
Ответ №4:
Для первого упомянутого кода первая строка ‘Jimmy Five Times (‘ объединяется с str(i)
, а затем она str(i)
дополнительно объединяется с ‘)’, поэтому конечный результат :
Jimmy Five Times (0)
Jimmy Five Times (1)
Jimmy Five Times (2)
Jimmy Five Times (3)
Jimmy Five Times (4)