Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 6, 2013 22:03:48

simple+Dima
Зарегистрирован: 2013-11-06
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

У меня вопрос глючит ли интерпретатор в Python 3?

Вобщем суть такова я сейчас разбираюсь в самом начале всего этого, поэтому отталкиваюсь от того что интерпретатор указывает мне все ошибки и не дает сделать лишнего но щас я чет ваще не понял, что как и почему:
когда вбиваем этот код

 i=2
t=0
while i<=128:
    tn=t+1
    print(tn)
    t=tn
    i=i*2
print(tn)

Получаем столбик 1,2,3,4,5,6,7,7

когда вот этот
i=2
t=0
while i<=128:
    tn=t+1
    t=tn
    i=i*2
print(tn)
то получаем 7

и тут понеслась
i=2
t=0
while i==128:
    tn=t+1
    print(tn)
    t=tn
    i=i*2
print(tn)
Пишет ошибку
NameError: name ‘tn’ is not defined и указывает на последнюю строчку , окей мы ее убераем
i=2
t=0
while i==128:
    tn=t+1
    print(tn)
    t=tn
    i=i*2
тогда он просто прогоняет и нечего не пишет, но ведь по логике должен

но если мы сделаем как то вот так
i=2
t=0
while i<=128:
    tn=t+1
    t=tn
    i=i*2
print(tn)
i=2
t=0
while i==128:
    tn=t+1
    print(tn)
    t=tn
    i=i*2
print(tn)
i=2
t=0
while i==128:
    tn=t+1
    print(tn)
    t=tn
    i=i*2
он просто напишет две семерки.
Так вот у меня вопрос так должно быть, или я нетак пишу, или там блямбу надо сверху какуюнить большую писать или я незнаю)) но чет это меня в ступор жесткий загнало((((((, я эти блоки по разному пописал и чет кракозябра получаеться
Пишу в PyScripter 3.3 и проверяю в IDLE

Отредактировано simple+Dima (Ноя. 7, 2013 10:02:46)

Прикреплённый файлы:
attachment 1.py (309 байт)

Офлайн

#2 Ноя. 6, 2013 23:16:36

4kpt_II
От: Харьков
Зарегистрирован: 2013-10-24
Сообщения: 999
Репутация: +  58  -
Профиль   Отправить e-mail  

У меня вопрос глючит ли интерпретатор в Python 3?

1. Оберните код в теги.
2. Вы понимаете, что значит эти два символа “==”?
3. Просмотрел Ваш файл. Все верно работает…

Офлайн

#3 Ноя. 7, 2013 10:27:43

simple+Dima
Зарегистрирован: 2013-11-06
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

У меня вопрос глючит ли интерпретатор в Python 3?

4kpt_II
1. Оберните код в теги.2. Вы понимаете, что значит эти два символа “==”?3. Просмотрел Ваш файл. Все верно работает…


== ну это символ вроде равенства, если написано n==100
значит (n) приравнивается к 100 но не присваивается, вроде как так.
может я не понимаю сути как думает компьютер?
я вроде как понял почему там три семерки так как в самом начеле мы приходим к тому что tn=7 вот он и повторяет где я прошу выводить это значение. а

а вот при этом коде он просто не выводит tn и пишет
NameError: name ‘tn’ is not defined. -Это значит что он не может найти значение tn??
i=2
t=0
while i==128:
    tn=t+1
    t=tn
    i=i*2
print(tn)
но не могу понять почему?????

Офлайн

#4 Ноя. 7, 2013 10:32:42

Budulianin
От:
Зарегистрирован: 2011-10-18
Сообщения: 1218
Репутация: +  33  -
Профиль   Отправить e-mail  

У меня вопрос глючит ли интерпретатор в Python 3?

simple+Dima
но не могу понять почему?????
Это сигнал, чтобы пойти и открыть книгу Mark Lutz/Марк Лутц - Изучаем Python, 4-е издание
А то всё сваливаешь на интерпретатор и пишешь “У меня вопрос глючит ли интерпретатор в Python 3?”

while цикл ни разу не выполняется, поэтому при выполнении функции print, выходит такая ошибка, т.к. tn ешё не определён



Отредактировано Budulianin (Ноя. 7, 2013 10:34:03)

Офлайн

#5 Ноя. 7, 2013 12:07:24

4kpt_II
От: Харьков
Зарегистрирован: 2013-10-24
Сообщения: 999
Репутация: +  58  -
Профиль   Отправить e-mail  

У меня вопрос глючит ли интерпретатор в Python 3?

Budulianin
Простите. Но я бы не советовал 4 издание. Мне оно показалось не очень. Вот 3 это шедевр. Я вообще считаю его библией питона.

simple+Dima
По Вашему вопросу. В цикле while будет выполняться внутренний код только тогда, когда условие верное. Например

while true:
    print("ups")

Будет работать бесконечно. Так как условия после слова while всегда является истиной.
Теперь смотрим на Ваш код

i=2
t=0
while i==128:
    tn=t+1
    t=tn
    i=i*2
print(tn)

У Вас i=2 на первом шаге. А цикл запускается только тогда, когда i будет равно 128, о чем красноречиво свидетельствует надпись i == 128 (только кода i равно 128 равенство будет иметь логическое значение True). Так что цикл никогда выполнен не будет, и print(tn) вызовет ошибку из-за того, что создание этой переменной происходит в цикле…

P.S. А Лутца все-та почитать нужно

Отредактировано 4kpt_II (Ноя. 7, 2013 12:08:57)

Офлайн

#6 Ноя. 7, 2013 12:41:57

Budulianin
От:
Зарегистрирован: 2011-10-18
Сообщения: 1218
Репутация: +  33  -
Профиль   Отправить e-mail  

У меня вопрос глючит ли интерпретатор в Python 3?

4kpt_II
Budulianin
Простите. Но я бы не советовал 4 издание. Мне оно показалось не очень. Вот 3 это шедевр. Я вообще считаю его библией питона.

Мне оно показалось очень, но я не видел 3е издание. Оно сильно отличается от 4 ?
Надо посмотреть.



Офлайн

#7 Ноя. 7, 2013 12:43:01

4kpt_II
От: Харьков
Зарегистрирован: 2013-10-24
Сообщения: 999
Репутация: +  58  -
Профиль   Отправить e-mail  

У меня вопрос глючит ли интерпретатор в Python 3?

Гляньте. Не поленитесь. Настолько доступно и красиво еще о питоне никто и никогда не писал. Я был просто в поросячем восторге. Проглотил его за 2 дня.

Офлайн

#8 Ноя. 7, 2013 13:05:58

Budulianin
От:
Зарегистрирован: 2011-10-18
Сообщения: 1218
Репутация: +  33  -
Профиль   Отправить e-mail  

У меня вопрос глючит ли интерпретатор в Python 3?

Сравнил содержание. В 4м намного больше глав. В 3м про классы намного меньше написано. Посмотрел некоторые главы, всё слово в слово написано, только изменения с учётом версии Python



Офлайн

#9 Ноя. 7, 2013 13:28:32

4kpt_II
От: Харьков
Зарегистрирован: 2013-10-24
Сообщения: 999
Репутация: +  58  -
Профиль   Отправить e-mail  

У меня вопрос глючит ли интерпретатор в Python 3?

Budulianin
Не буду ничего доказывать, но это беглый осмотр. В 4 очень много сносок на то, что это для 2.Х, а это для 3.Х. Я считаю это лишним для начального понимания. Должна быть четкая линия. Так новичку легче запомнить и проще понять. А так он вроде понял, как нужно, но путается. В итоге, если не очень получается в результате постоянной путаницы, это вызывает нарекания к языку. А насчет обрезанности классов. Мое мнение в этом случае другое. На самом деле 3 издание достаточно пересыщено классами. Можно было и проще… На начальном уровне не нужно сильно в этом вопросе усердствовать

P.S. Я читаю питон и по опыту общения со студентами могу сказать, что каша в голове после 4 издания получается нехилая. Хотя, возможно, это только мой личный опыт…

Офлайн

#10 Ноя. 7, 2013 14:17:26

Budulianin
От:
Зарегистрирован: 2011-10-18
Сообщения: 1218
Репутация: +  33  -
Профиль   Отправить e-mail  

У меня вопрос глючит ли интерпретатор в Python 3?

4kpt_II
это беглый осмотр.
Да, это беглый осмотр.

4kpt_II
На начальном уровне не нужно сильно в этом вопросе усердствовать
Можно просто и не всё сразу читать.

4kpt_II
P.S. Я читаю питон и по опыту общения со студентами могу сказать, что каша в голове после 4 издания получается нехилая.
Начинал знакомиться с Python по 4му изданию, когда ещё был на 3 курсе. Никакой каши в голове не было, по-моему. :)



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version