Вопросы | 

Игорь Лопатин
Операции присваивания в Питон

Что имеется в виду: "В Python (в отличие, скажем, от C) нет операции присваивания" в https://www.intuit.ru/studies/courses/49/49/lecture/27058?page=6

Теги: python
Алексей Савельев
Алексей Савельев 9 июля 2019 в 20:49

В С операция "присваивание" возвращает результат - значение выражения стоящего слева. Т.е. a=100 - кроме того что присвоит значение 100 переменной a, ещё и вернёт значение 100. Таки образом в C возможно множественное присванивание : a=b=c=100 - равносильно a=(b=(c=100)), также возможна такая конструкция: if (a=b) - в резултате и значение присвоится a, и if сработает на значение b

Арсений Бердюгин
не верный синтаксис в лекции?

скачал с оффсайта последнюю версию python под windows. запускаю примеры из лекции и оно ругается на синтаксис.

Синтаксис примеров в лекции не актуален?
 

Андрей Григорьевых
Андрей Григорьевых 6 ноября 2018 в 00:32

Примеры приходится подгонять до рабочего состояния, но так даже лучше :-)

Владимир Козьмин
Владимир Козьмин 10 декабря 2018 в 18:39

Например print x (2-я версия)? print (x) (3-я версия)ю Корректируйте

Зураб Муциев
Выбор тьютора

Здравствуйте друзья, коллеги.

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

Постить в соц сетях, там не всегда адекват, и чаще они базарят не по делу.

Андрей Егоров
Прокомментируйте, пожалуйста, выражение

def bin(n):

"""Цифры двоичного представления натурального числа """

if n == 0:

   return []

n, d = divmod(n, 2)

return bin(n) + [d]

print bin(69)

Что значит здесь return[] ? Возвращает список? Непонятно какой список? Откуда он? 

 

 

Николай Рябичко
Николай Рябичко 21 февраля 2019 в 16:44

1. if n == 0: #Непонятно почему не просто "if not n :"
2. return [] - возвращает пустой объект класса list, т. е. если мы напишем A = bin(0), это будет эквивалентно A = [], и не будет работать, т.к. у питона слово bin является ключевым (по крайней мере в 3.7.1 )
3. А так, симпатичная рекурсивная функция по переводу числа в двоичное представление. По факту if n == 0: это конечный случай.

Николай Рябичко
Николай Рябичко 21 февраля 2019 в 16:49

Мне в виде строки представление результата больше нравится, вот код если кто-то захочет поиграться (к сожалению сайт удаляет пробелы и табуляцию, замените ####на символы пробела или одну табуляцию):
def bin_num(n):
####"""Цифры двоичного представления натурального числа"""
####if not n: return ""
####n, d = divmod(n, 2)
####return bin_num(n) + '{}'.format(d)
print(bin_num(69))

Асмик Гаряка
Рейтинг

Почему при вычислении рейтинга не учитывается уровень, как описано? Для всех курсов У=1, хотя для Специалист должно быть 2.

Olga Pushkar
PyCharm не обрабатывает некоторые вычисления

Каким редактором Python рекомендуете пользоваться?  

Некоторые опеции, как пример: type (r'\u0432') не обрабатываются в PyCharm (Commumity Edition 3.4) . Хотя, в консольке - все нормально.

 

Олег Первушин
Олег Первушин 26 февраля 2016 в 03:19

Для вычислений лучше всего использовать комплект Anaconda. В нем удобная среда Spyder.

Роман Демещенко
Не могу разобраться с append+рекурсия
def appender(what, how_many, where=[]):
where = where or []
if how_many == 0:
return where
else:
return appender(what, how_many - 1, where.append(what))

print(appender(6, 3))
# результат: []
# "ожидаемый" результат: [6, 6, 6]
Теги: python
Павел Дьяконов
Павел Дьяконов 23 октября 2013 в 23:24

в итоге у тебя никогда не передается 3 параметр,
еще where=[] закешируется и в след вызове будет отдаваться ко всему прочему и результат предудущих вызовов

Богдан Бенецький
Богдан Бенецький 20 ноября 2013 в 07:33

def appender(what, how_many, where=[]):
if how_many == 0:
return where
else:
where.append(what)
return appender(what, how_many - 1, where)

Марина Дайнеко
Марина Дайнеко
Россия, Moscow, Nope, 2008
Иван Сельченков
Иван Сельченков
Россия