Найти - Пользователи
Полная версия: Мелкие вопросы новичков
Начало » Python для новичков » Мелкие вопросы новичков
1 2
Defalt
Оператор for работает как перечисление по порядку елементов списка или кортежа?! И все? Только с списками и кортежами он работает?
FishHook
Defalt
И все?
Нет.
ajib6ept
Defalt
Оператор for работает как перечисление по порядку елементов списка или кортежа?! И все? Только с списками и кортежами он работает?

Нет
ingfa_1981
Вам необходимо изучить итерации. А вообще все, что является последовательностью все итерируется.
Your text to link here…
Defalt
ingfa_1981
Вам необходимо изучить итерации. А вообще все, что является последовательностью все итерируется. Your text to link here…
Спасибо за инфу.
Сразу по первому коду вопросы:
for n in [1,2,3,4,5,6,7,8,9]:
    print "2 в степени %d = %d" % (n, 2**n)
Почему они print пишут без ()? (Пробовал у запустит без (), выдает ошибку)
Что за %d?
В скобках тоже не все ясно (откуда взялась переменная n. Создалась оператором for - применяя последовательно все значения из списка?! (2**n). Что она тогда делает в начале скобок(n, 2**n)?
P.S: При выполнении кода выводит:
2 в степени 1 = 2
2 в степени 2 = 4
2 в степени 3 = 8
2 в степени 4 = 16
2 в степени 5 = 32
2 в степени 6 = 64
2 в степени 7 = 128
2 в степени 8 = 256
2 в степени 9 = 512
Singularity
Defalt
В скобках тоже не все ясно (откуда взялась переменная n. Создалась оператором for - применяя последовательно все значения из списка?! (2**n).
да
Defalt
Что она тогда делает в начале скобок(n, 2**n)?
https://docs.python.org/2/library/stdtypes.html#string-formatting
ingfa_1981
Defalt
В скобках тоже не все ясно (откуда взялась переменная n. Создалась оператором for
Вам необходимо почитать книгу, например Лутца. Лутц Она есть в разделе книги, тут на форуме.
В python 3 версии print это функция значения в скобках. В версии 2 значения без скобок.
Например:
Для версии 3
print (“Privet medved”)
Для версии 2
print “Privet medved”
Цикл for:
Если бы ты сделал так
# -*- coding: utf-8 -*-
spisok = [1,2,3,4,5,6,7,8,9]
for blabla in spisok:
    print blabla
то ты бы получил
1
2
3
4
5
6
7
8
9
то есть за одну итерацию blabla поочередно принимал бы значение 1 потом 2 потом 3 и.т.д. и.т.п.
ingfa_1981
Форматирование строк. Два метода.
первый это %
%
второй это format
format
Defalt
Singularity
https://docs.python.org/2/library/stdtypes.html#string-formatting
English я не очень то хорошо знаю, по этому инфу из сайто на англ. тяжелее понимать, т.к. нужно еще подумать, вспомнить перевод. По этой ссылке, из первых строк можно узнать, что % это “operator (modulo)”. А вот пример который там написан:
>>> print ‘%(language)s has %(number)03d quote types.’ % \
… {“language”: “Python”, “number”: 2}
Python has 002 quote types.
С примера можно предположить, что оператор “модуль?!” использует словарь (а в примере который я привел, еще и кортеж. Тогда наверное и списки тоже). Возможно это каким-то образом удобнее, если словарь задан в самом начале а не каждый раз в print. Если же как переменную, то возможно удобнее было бы использовать “”? (закрытие и открытие скобок).
В общем спасибо за инфу. Эта строка стала понятной
for n in :
print “2 в степени %d = %d” % (n, 2**n)
Остается еще один вопрос по ней. Почему не указаны скобки() ни в том примере, что я привел, ни в том, что на оф. сайте пайтона?
UPD: Еще два ответа появились пока я писал этот пост. thx

UUPD: В общем for х in y: берет значения из ‘y’ по порядку и подставляет в ‘x’. ‘y’ может быть (1)=список, кортеж, словарь, range. И все! Т.к. только в (1) может быть несколько значений. В принципе почти так как я и думал, а с инфой которую вы привели стало яснее.
Shaman
Defalt
Почему не указаны скобки() ни в том примере, что я привел, ни в том, что на оф. сайте пайтона?
Был дан пример для языка второй версии. Док для третей:
https://docs.python.org/3/library/stdtypes.html?highlight=string%20formatting#printf-style-string-formatting
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB