Найти - Пользователи
Полная версия: Задачи из книги Hello World. Занимательное программирование (авторы У. Сэнд, К. Сэнд)
Начало » Python для новичков » Задачи из книги Hello World. Занимательное программирование (авторы У. Сэнд, К. Сэнд)
1 2 3 4 5
Romissevd
 raw_input()
возвращает строку.
чтобы получить результат преобразуй строку в число
 timsAnswer = int(raw_input())
Rodegast
> чтобы получить результат преобразуй строку в число

Лучше использовать обычный input()
py.user.next
Rodegast
У python-а по большому счёту один разработчик интерпретатора у которого PEP-ы. Вот по этому и нет стандарта.
PEPы - это хрень. Спецификация на разные элементы языка и библиотеки вообще меняется каждый день. Модули включаются в стандартную библиотеку. Стандартизировать нечего. Идёт активное развитие языка, при этом это развитие ничего не сдерживает. А вот был бы стандарт или была бы необходимость соблюдать ненужные особенности второго питона, тогда бы и развивать это было неинтересно. Когда развитие заключается в том, как бы не сломать устаревший код, мотивации к этому делу становится всё меньше и меньше. И, наоборот, когда каждый день появляются всё новые и новые фишки, мощные, тогда и хочется что-нибудь ещё и ещё добавить.

Rodegast
Для чего такие стандарты вводят? В случае с языком “C” для разработчиков компиляторов.
Ну, например, PyQt и PySide - ты сам говорил, что они очень похожи. В смысле очень похожи? Нужна не похожесть, а идентичность. Нужно, чтобы ты запустил A и на это сработало B на всех компах, на которых это только может запускаться. При этом эти фреймворки должны и обновляться, чтобы чинились падения и уязвимости. Как ты прогарантируешь (когда никто за это не отвечает и ничего не должен), что при обновлении они не сломают функции предыдущей версии? Или что, ты будешь на уязвимой версии сидеть годами?

Rodegast
Перед всеми строками и не нужно было писать
Всю работу со строками привели в порядок в итоге. Теперь в третьем питоне вообще проблем с ними нет. Во втором же питоне при добавлении языков в первоначальные программы слетало всё что только можно и приходилось это исправлять обходными путями. Если ты посмотришь на флажки регулярных выражений, ты там обнаружишь эти исторические следы.

Rodegast
> А версия 2.7 - это что, по-твоему?
Когда она вышла?
Это продолжение версии 2.6. Почему не остановились на 2.6? Потому что слишком много косяков во втором питоне и их надо исправлять и как-то показывать существенные различия, когда их становится уже не совсем чуть-чуть. Это и есть тянучка второго питона дальше при развитии треьего.

Rodegast
Ну наверное проекты которые не переписали. Такие проекты есть в том числе и у меня, и переписывать их никто не будет.
Так ты их будешь запускать на втором питоне, на устаревшем втором питоне. Я же говорю не о твоих проектах, а о платформах, которые являются базовыми для частных проектов.
Да и если твой проект не настолько современен, чтобы его переводить на современный питон, то он и не проживёт долго.
А вот если это какой-то YouTube там или ещё что-нибудь, то, конечно, его надо переводить на самые современные средства, чтобы просто не отстать от завтрашних конкурентов.

PEHDOM
Ну кагбэ да, но в свое время Гвидо сказал прямым текстом на вопрос: “когда выйдет пайтон4 и чем он будет отличаться от 3” что 4-я версия будет просто версия после 3.9. Конечно сейчас Гвидо уже не у руля, так что ХЗ как там оно будет.
Четвёртая версия - это не цифры в версии. Можно, знаешь, на версии 0.0.1 у какой-нибудь программы поставить не 0.0.1, а сразу 4.0.0, но по сути-то она останется версией 0.0.1. Так что, даже если питон и перейдёт по принципу “чтобы десятку не писать”, то это фактически третья версия будет с написанной цифрой 4. Никто не будет её считать следующей версией. Другое дело, если питон совершит какой-то мощный прорыв и при этом останется третьей версией, то рано или поздно он сам напросится на цифру 4 в мажоре.
  
>>> import sys
>>> sys.version_info
sys.version_info(major=3, minor=6, micro=1, releaselevel='final', serial=0)
>>>
AD0DE412
kompilikus
Если ввожу 3, то всё равно пишет
упс
Romissevd
возвращает строку.
чтобы получить результат преобразуй строку в число
эт сорян
Rodegast
> PEPы - это хрень. Спецификация на разные элементы языка и библиотеки вообще меняется каждый день

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

> Нужно, чтобы ты запустил A и на это сработало B на всех компах, на которых это только может запускаться

А вот это уже вопрос не стандартизации, а переносимости.

> Теперь в третьем питоне вообще проблем с ними нет.

Да никаких особых проблем и не было.

> Это продолжение версии 2.6. Почему не остановились на 2.6?

Речь не об этом, а о том что какие то серьёзные изменения вносились в последний раз года 4 назад… Т.е. второй python уже давно никого не напрягает.

> Я же говорю не о твоих проектах, а о платформах, которые являются базовыми для частных проектов.

Не вижу большой разницы.

> А вот если это какой-то YouTube там или ещё что-нибудь, то, конечно, его надо переводить на самые современные средства, чтобы просто не отстать от завтрашних конкурентов.

Например судя по слухам в yandex-е много где вторая версия используется и на тройку переводить эти проекты они не будут. Это просто экономически не выгодно.
PEHDOM
py.user.next
Четвёртая версия - это не цифры в версии. Можно, знаешь, на версии 0.0.1 у какой-нибудь программы поставить не 0.0.1, а сразу 4.0.0, но по сути-то она останется версией 0.0.1. Так что, даже если питон и перейдёт по принципу “чтобы десятку не писать”, то это фактически третья версия будет с написанной цифрой 4. Никто не будет её считать следующей версией. Другое дело, если питон совершит какой-то мощный прорыв и при этом останется третьей версией, то рано или поздно он сам напросится на цифру 4 в мажоре.
по уму то оно вроде так, но возьми, например, браузеры, какая там версия сейчас актуальна хрома или лисы? у обеих перевалило за семь десятков, при этом новые версии пекут раз в пару-тройку месяцев неужто там какие то мощные прорывы случаются каждый месяц? .Это вобщем то справдливо и для достаточно большого количества иного софта, особенно комерческого, хотя если присмотреться то разница между текущей версией и прошлогодней в паре-тройке свистелок и багфиксом. Почему так, это отденльный вопрос.
Может разница между 3.9 и 4 будет незначительной и не содержать никаких “прорывов”, но если сравнить 3.1 и 3.9 то в принципе мы увидим достаточно большое количество различий чтобы можно было изменить версию продукта. ИМХО конечно.
kompilikus
 for i in range (1, 6):
    print
    print 'i =', i,
    print 'Привет, как',
    if i == 3:
        continue
    print 'твои дела?'
————-выводится:—————–
i = 1 Привет, как твои дела?

i = 2 Привет, как твои дела?

i = 3 Привет, как
i = 4 Привет, как твои дела?

i = 5 Привет, как твои дела?

Обратите внимание, что на третьей итерации цикла (когда i == 3) его тело выполняется не
полностью — происходит переход к следующей итерации (i == 4). Это результат вмешательства инструкции continue. Аналогичным образом она функционирует в цикле while.

——————————–

Заменил for на while и что то не работает, что ещё надо отредактировать?
Rodegast
> Заменил for на while и что то не работает, что ещё надо отредактировать?

И как ты её заменил?
kompilikus
 while i in range (1, 6):
    print
    print 'i =', i,
    print 'Привет, как',
    if i == 3:
        continue
    print 'твои дела?'
Rodegast
Ты бы хоть про цикл while для начала прочитал…

 i = 0
 while i < 6:
    i += 1
    print 'i =', i,
    print 'Привет, как',
    if i == 3:
        continue
    print 'твои дела?'
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