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

Исторически это была ошибка т.к. можно было не ломать совместимость.

> Из-за того, что его стараются максимально улучшить, его и не стандартизируют.

Чяго? Про PEP слышал?

> которую до перехода были вынуждены тянуть по всем исправлениям всяких косяков…

Я как то не заметил такого “вытягивания”…

> на третьем питоне работает уже всё…

Отучайся говорить за всех.

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

Бред.

> В 2025 будут на четвёртом питоне все.

PEHDOM
py.user.next
Таким образом скачок от третьей версии к четвёртой (скачок несовместимости версий, большой скачок в качестве на уровне ядра языка) может произойти тогда, когда произойдёт освобождение от второго питона - в тот момент, когда появятся свободные руки и свободные мозги, чтобы вообще этим заниматься.
Хмм, если мне не изменяет память, то не будет никакого скачка к 4-й версии. 4-я версия просто будет версия идущая после 3.9
py.user.next
Rodegast
Исторически это была ошибка т.к. можно было не ломать совместимость.
Это не было ошибкой. Просто нужна была глубокая переработка ядра языка. Благодаря этому тебе теперь не нужно писать u перед всеми строками в исходниках.

Rodegast
Чяго? Про PEP слышал?
PEP - это не стандарт; это текст, который любой дурак может написать, а потом ещё десять раз переписать. Тот же PEP8 постоянно дополняют. Стандарт же - это фиксированный документ в международном правовом поле, регистрируемый в реестре стандартов наряду с другими стандартами. И стандарт не может измениться после фиксации, поэтому на него может опираться не просто компания, а множество компаний.

Rodegast
Я как то не заметил такого “вытягивания”…
А версия 2.7 - это что, по-твоему? Зачем она нужна была? Да и ошибки, исправляемые в третьем питоне, исправляются и во втором тоже.

Rodegast
Отучайся говорить за всех.
Приведи пример, что не работает на третьем?


PEHDOM
4-я версия просто будет версия идущая после 3.9
После 3.9 идёт 3.10. Первая цифра отвечает за совместимость. Если программы совместимы, первая цифра сохраняется, иначе инкрементируется.
Rodegast
> Это не было ошибкой. Просто нужна была глубокая переработка ядра языка.

1) Совместимость поломали и оно раздвоилось. А если бы это был постепенный процесс с сохранением совместимости, то всё было бы нормально.
2) Никакой глубокой переработки не произошло.

> Благодаря этому тебе теперь не нужно писать u перед всеми строками в исходниках.

Перед всеми строками и не нужно было писать

> И стандарт не может измениться после фиксации, поэтому на него может опираться не просто компания, а множество компаний.

Для чего такие стандарты вводят? В случае с языком “C” для разработчиков компиляторов. У python-а по большому счёту один разработчик интерпретатора у которого PEP-ы. Вот по этому и нет стандарта.

> А версия 2.7 - это что, по-твоему?

Когда она вышла?

> Приведи пример, что не работает на третьем?

Ну наверное проекты которые не переписали. Такие проекты есть в том числе и у меня, и переписывать их никто не будет.
FishHook
Rodegast
Совместимость поломали и оно раздвоилось. А если бы это был постепенный процесс с сохранением совместимости, то всё было бы нормально.
не вышло бы, обратную совместимость ломать все равно бы пришлось, ну или накапливать возрастающую сложность языка и интерпретатора таская за собой print как инструкцию и пр.

Вот пример того, как один и тот же код дает разный результат в 2 и в 3
 x, y = 10, 10
for a in [x for x in [1 ,2,  3]]:
    foo(a)
print(x, y)

как ты решишь это не ломая совместимость?


Rodegast
> не вышло бы, обратную совместимость ломать все равно бы пришлось

Нужно было это делать постепенно и очень аккуратно. Ну да, было бы какое то количество устаревших функций, но это не страшно.
PEHDOM
py.user.next
После 3.9 идёт 3.10. Первая цифра отвечает за совместимость. Если программы совместимы, первая цифра сохраняется, иначе инкрементируется.
Ну кагбэ да, но в свое время Гвидо сказал прямым текстом на вопрос: “когда выйдет пайтон4 и чем он будет отличаться от 3” что 4-я версия будет просто версия после 3.9. Конечно сейчас Гвидо уже не у руля, так что ХЗ как там оно будет.
kompilikus
Поработал над написанием программы. Что то не фурычит.
 # -*- coding: utf8*-
print "Игра в угадывание числа. Введите цифру."
correctAnswer = 3
timsAnswer = raw_input()
if (timsAnswer == correctAnswer):
    print "Ты ответил правильно!"
else
print "Ошибочка вышла"
print "Спасибо за игру."

   File "C:/C_WORK/hw80.py", line 7
    else
       ^
SyntaxError: invalid syntax
AD0DE412
kompilikus
 # -*- coding: utf8*-
print "Игра в угадывание числа. Введите цифру."
correctAnswer = 3
timsAnswer = raw_input()
if (timsAnswer == correctAnswer):
    print "Ты ответил правильно!"
else:
    print "Ошибочка вышла"
print "Спасибо за игру."
py.user.next
После 3.9 идёт 3.10
очьнь надеюсь
kompilikus
Если ввожу 3, то всё равно пишет
Ошибочка вышла
Спасибо за игру.
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