LINUX.ORG.RU

[быдлокод]Python

 


0

0

Решил понять принцип питона на примере игры. Первая же часть кода вылезает с ошибкой :

sergey@root:~$ python test.py
  File "test.py", line 4
    a=5
      ^
IndentationError: unindent does not match any outer indentation level

Код :

def Multiply(x, y):
     z=x*y
     return z
 a=5
 b = 10
 print “a is”, a, “and b is”, b
 answer = Multiply(a, b)
 if answer > 10:
     print “Result is bigger than 10”
 else:
     print “Less or equal to 10”

Собственно, чяднт? Гугл написал про отступы. Прибавил пробелы к a=5. Не помогло.


А нафига ты после определения функции добавил пробелы к строкам? В этом и ошибка!

fat_angel ★★★★★
()

А ты оригинал

def Multiply(x, y):
     z=x*y
     return z
a=5
b = 10
print “a is”, a, “and b is”, b
answer = Multiply(a, b)
if answer > 10:
    print “Result is bigger than 10”
else:
    print “Less or equal to 10”
GotF ★★★★★
()

http://learnpythonthehardway.org/index

This is the site for the book «Learn Python The Hard Way». The book is a very beginner book for people who want to learn to code. If you can already code then the book will probably drive you insane. It's intended for people who have no coding chops to build up their skills before starting a more detailed book.

Рекомендую. Даже в капче есть слово advice :)

anonymous
()
Ответ на: А ты оригинал от GotF
    return x*y
a = 5
b = 10
print “a is %d and b is %d” % a, b
anonymous
()

Ещё можно так:

def Multiply(x, y): return x*y

a, b = 5, 10
print 'a is', a, 'and b is', b
print Multiply(a, b) > 10 and 'Result is bigger than 10' or 'Less or equal to 10'

anon_666
()
Ответ на: Брось каку! от fat_angel

Язык программирования Python. Г.Россум, Ф.Л.Дж.Дрейк, Д.С.Откидач и др. Книга содержит перевод Tutorial, Language Reference и большей части Library Reference для версий 1.5.2-2.0

У меня python 2.6.5.

Книга не устарела? Если что, то на питон.ру лежит.

fedor
() автор топика
Ответ на: комментарий от anon_666

Теперь вылезла такая бяка :

SyntaxError: Non-ASCII character '\xe2' in file test.py on line 3, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details

А я думал, это только на русские символы.

fedor
() автор топика
Ответ на: комментарий от anon_666

Спасибо за советы! Оно заработало. Буду разбираться дальше.

fedor
() автор топика
Ответ на: комментарий от fedor

> Книга не устарела?

В целом, годная. Но отдельные части могли уже устареть. Например, модуль thread ныне deprecated.

ilias
()
Ответ на: комментарий от ilias

Не может книга для версии 2.0 быть годной и для 2.6. С тех пор прошло слишком много изменений как в самом языке, так и в библиотеках.

mashina ★★★★★
()
Ответ на: комментарий от ilias

Мало ли что там у тебя УМВР. Если Птолемей дожил бы до наших дней, то тоже утверждал бы работоспособность своих эпициклов.

mashina ★★★★★
()

В книге написано не копипастить, а перепечатывать весь код! А после этого читать его вслух в обратном порядке!

ТС ССЗБ если не следовал данным инструкциям.

phobos
()
Ответ на: комментарий от mashina

Ты взял какой-то экзотический случай. Большая часть книги годна. Большая часть работ Птолемея тоже.

ilias
()

Попробуй после return z еще пустую строчку сделать

Siado ★★★★★
()
Ответ на: комментарий от fedor

> Так они изначально и были убраны.

Если ты выделишь запощенный тобой кусок кода, то явно увидишь, что начиная с a=5 и до конца все строки начинаются с пробела и стоят неправильные кавычки. Вот про эти пробелы я писал. И вообще тебе правильно посоветовали «В книге написано не копипастить, а перепечатывать весь код!»

shelA
()
Ответ на: комментарий от shelA

Да, пожалуй так и стоит сделать.

fedor
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.