помагите с python

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by gold-goblin, 31 Dec 2008.

  1. gold-goblin

    gold-goblin Elder - Старейшина

    Joined:
    26 Mar 2007
    Messages:
    917
    Likes Received:
    174
    Reputations:
    3
    пользуюсь версией 2.5.2
    изучаю первый час =)
    подскажите что не правельного в этой конструкции?
    Code:
    def sloj(x, y) 
    s=x+y
    print s
     
    иремпритатор ругается так:
    Code:
    >>> def sloj(x, y)    File "<stdin>", line 1     def sloj(x, y)                    ^ SyntaxError: invalid syntax >>> s=x+y Traceback (most recent call last):   File "<stdin>", line 1, in <module> NameError: name 'x' is not defined >>> print s 
    И еще посоветуйте плиз нормальный (блакнот или хз как назвать) с подцветкой синтексиса под никсы....
    Харание спасибо!
     
    1 person likes this.
  2. Rejjin

    Rejjin Elder - Старейшина

    Joined:
    20 Jul 2008
    Messages:
    83
    Likes Received:
    46
    Reputations:
    0
    def sloj(x, y):
    ...
    Двоеточие...
    Если что-то не получается, юзай режим интерпретатора ;-)
     
    1 person likes this.
  3. gold-goblin

    gold-goblin Elder - Старейшина

    Joined:
    26 Mar 2007
    Messages:
    917
    Likes Received:
    174
    Reputations:
    3
    тупой вопрос =) это как?

    Добавлено:

    С двоеточием такая ошибка =)
    Code:
    def sloj(x, y):  ... s=x+y   File "<stdin>", line 2     s=x+y     ^ IndentationError: expected an indented block 
     
    #3 gold-goblin, 31 Dec 2008
    Last edited: 31 Dec 2008
  4. Rejjin

    Rejjin Elder - Старейшина

    Joined:
    20 Jul 2008
    Messages:
    83
    Likes Received:
    46
    Reputations:
    0
    Что бы использовать режим интерпретатора, нужно запустить исполняемый файл, тоесть сам интерпретатор, а не файл с расширением *.py
    В этом режиме все исполняется "построчно", тоесть если у тебя ошибка в синтаксисе, то интерпретатор тебе сразу ее выявит.
    В Питоне функция определяется ключевым словом def, имени функции, затем в скобках идут некие параметры, разделяемые запятой, передаваемые в функцию из программы. К этим параметрам можно обращаться внутри функции по их именам. Впрочем, функция может не принимать никаких параметров, тогда в скобках не нужно ничего писать.
    Пример:
    >>> def fib(n): # Функция, выводящая на экран числа Фибоначчи, не превосходя щие n...
    """Числа Фибоначчи"""
    ... a, b = 0, 1
    ... while b < n:
    ... print b,
    ... a, b = b, a+b
    ...

    >>> # Теперь функцию можно вызвать
    ... fib(2000)

    У тебя будет так:
    def sloj(x, y):
    s = x+y
    print s
     
  5. Chaak

    Chaak Elder - Старейшина

    Joined:
    1 Jun 2008
    Messages:
    1,059
    Likes Received:
    1,067
    Reputations:
    80
    Про отступы не забывай
     
    2 people like this.
  6. gold-goblin

    gold-goblin Elder - Старейшина

    Joined:
    26 Mar 2007
    Messages:
    917
    Likes Received:
    174
    Reputations:
    3
    хм. я и так в режиме иренпритатора кодю пока =)
    спасибо за подсксказку =)
     
  7. gold-goblin

    gold-goblin Elder - Старейшина

    Joined:
    26 Mar 2007
    Messages:
    917
    Likes Received:
    174
    Reputations:
    3
    хм либо я тупой либо иремпритатор лагучий....
    пишу
    Он ругается на 2 строчку (s = x+y)
    А если просто записать 2 строку то все нормально....
    В чем проблема?
     
  8. login999

    login999 Elder - Старейшина

    Joined:
    12 Jun 2008
    Messages:
    491
    Likes Received:
    280
    Reputations:
    92
    бля, тебе ж написали -не забывай про отступы, должно быть так:
    Code:
    def sloj(x, y):
    ПРОБЕЛs = x+y 
    ПРОБЕЛprint s
    
     
  9. gold-goblin

    gold-goblin Elder - Старейшина

    Joined:
    26 Mar 2007
    Messages:
    917
    Likes Received:
    174
    Reputations:
    3
    Пробелы есть!!!!!!
    я не слепой
     
  10. gold-goblin

    gold-goblin Elder - Старейшина

    Joined:
    26 Mar 2007
    Messages:
    917
    Likes Received:
    174
    Reputations:
    3
    проблема решилась. переставил питон с нуля и все заработало.
     
  11. gold-goblin

    gold-goblin Elder - Старейшина

    Joined:
    26 Mar 2007
    Messages:
    917
    Likes Received:
    174
    Reputations:
    3
    Подскажите, гденибуть в интернете можно найти кагбы маленькие задачки для закрепления пройденого материала =)?
    Просто сейчас уже прочитал 63 страницы книги Yazik_programmirovaniya_python
    И решил закрепить материал, а в голову ничего не лезет =(
    Да всех с последим днем 2008 года!!!
     
  12. KaZ@NoVa

    KaZ@NoVa Elder - Старейшина

    Joined:
    5 Jul 2008
    Messages:
    368
    Likes Received:
    438
    Reputations:
    -16
    [​IMG]
     
    5 people like this.
  13. Chaak

    Chaak Elder - Старейшина

    Joined:
    1 Jun 2008
    Messages:
    1,059
    Likes Received:
    1,067
    Reputations:
    80
    На, вот хорошая книжка в отличном качестве. Полный питон + всякие задания в конце глав.
     
  14. gold-goblin

    gold-goblin Elder - Старейшина

    Joined:
    26 Mar 2007
    Messages:
    917
    Likes Received:
    174
    Reputations:
    3
    ChaaK
    Спасибо! Книга супер!!!
     
  15. gold-goblin

    gold-goblin Elder - Старейшина

    Joined:
    26 Mar 2007
    Messages:
    917
    Likes Received:
    174
    Reputations:
    3
    тут поевился еще вопрос.
    Значит написал я сегодня за 5 минут первую свою программу:
    Прога спокойно принемается иремпритатором, но при попытке выполнить эту функцию выписывает ошибку
    Где я напортачил?
     
  16. t00th

    t00th Banned

    Joined:
    15 Jul 2007
    Messages:
    37
    Likes Received:
    15
    Reputations:
    6
    Пиши с отступами, ничерта не понятно.
    Ошибку которую увидел, открываешь файл для чтения, а сам пытаешься что-то записать.
    file=open(test.txt, w)

    add: По книжкам, почитай Programming Python Mark Lutz.Второе издание в сети найти легко, третье на русском вряд ли найдешь, если с английским хорошо то лучше его ищи.Там темы с примерами, что потом не было таких кошмарных "способов закрепить" :)
     
    #16 t00th, 1 Jan 2009
    Last edited: 1 Jan 2009
  17. gold-goblin

    gold-goblin Elder - Старейшина

    Joined:
    26 Mar 2007
    Messages:
    917
    Likes Received:
    174
    Reputations:
    3
    пишу с табуляцией в роле оцтупа и из -за этого возможно их не видно в цитате...
    Code:
    def fil():
    	print 'sozdat fail?'
    	print '1 - da'
    	print '2 - net'
    	x = int(raw_input(":"))
    	if x == 2:
    		print 'a nax togda zapskal mena?'
    	elif x == 1:
    		file=open(test.txt, r)
    		print 'sdelat zapis v fail?'
    		print '1 - da'
    		print '2 - net'
    		zas = int(raw_input(":"))
    		if zas == 2:
    			print 'spasibo za sozdanie faila=)'
    		elif zas == 1:
    			print 'fto zapishem v fail?'
    			text = raw_input(":")
    			file.write(text)
    			print 'yraaa ja zakonchila svoy radoty, prover fail'
    
    вот весь код с оцтупами =)

    В книге написано что есть режим работы r+ но у меня выскакивает ошибка синтаксиса... Спасибо что сказал про режим работы с файлом =) сейчас поменяю
     
  18. gold-goblin

    gold-goblin Elder - Старейшина

    Joined:
    26 Mar 2007
    Messages:
    917
    Likes Received:
    174
    Reputations:
    3
    тагже менял режимы на w и wb проблемма 1 и таже
     
  19. t00th

    t00th Banned

    Joined:
    15 Jul 2007
    Messages:
    37
    Likes Received:
    15
    Reputations:
    6
    file=open('/home/user/log.txt', 'w')
    Кавычки забыл, все работает
     
    1 person likes this.
  20. gold-goblin

    gold-goblin Elder - Старейшина

    Joined:
    26 Mar 2007
    Messages:
    917
    Likes Received:
    174
    Reputations:
    3
    неа, ошибка всеравно есть =(