Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   помагите с python (https://forum.antichat.xyz/showthread.php?t=98762)

gold-goblin 31.12.2008 02:19

помагите с python
 
пользуюсь версией 2.5.2
изучаю первый час =)
подскажите что не правельного в этой конструкции?
Код:

def sloj(x, y)
s=x+y
print s

иремпритатор ругается так:
Код:

>>> 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
И еще посоветуйте плиз нормальный (блакнот или хз как назвать) с подцветкой синтексиса под никсы....
Харание спасибо!

Rejjin 31.12.2008 02:41

def sloj(x, y):
...
Двоеточие...
Если что-то не получается, юзай режим интерпретатора ;-)

gold-goblin 31.12.2008 02:44

Цитата:

юзай режим интерпретатора ;-)
тупой вопрос =) это как?

Добавлено:

С двоеточием такая ошибка =)
Код:

def sloj(x, y):  ... s=x+y  File "<stdin>", line 2    s=x+y    ^ IndentationError: expected an indented block

Rejjin 31.12.2008 02:59

Что бы использовать режим интерпретатора, нужно запустить исполняемый файл, тоесть сам интерпретатор, а не файл с расширением *.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

Chaak 31.12.2008 03:03

Про отступы не забывай

gold-goblin 31.12.2008 03:27

хм. я и так в режиме иренпритатора кодю пока =)
спасибо за подсксказку =)

gold-goblin 31.12.2008 15:11

хм либо я тупой либо иремпритатор лагучий....
пишу
Цитата:

def sloj(x, y):
s = x+y
print s
Он ругается на 2 строчку (s = x+y)
А если просто записать 2 строку то все нормально....
В чем проблема?

login999 31.12.2008 15:33

бля, тебе ж написали -не забывай про отступы, должно быть так:
Код:

def sloj(x, y):
ПРОБЕЛs = x+y
ПРОБЕЛprint s


gold-goblin 31.12.2008 15:35

Пробелы есть!!!!!!
я не слепой

gold-goblin 31.12.2008 15:46

проблема решилась. переставил питон с нуля и все заработало.

gold-goblin 31.12.2008 16:23

Подскажите, гденибуть в интернете можно найти кагбы маленькие задачки для закрепления пройденого материала =)?
Просто сейчас уже прочитал 63 страницы книги Yazik_programmirovaniya_python
И решил закрепить материал, а в голову ничего не лезет =(
Да всех с последим днем 2008 года!!!

KaZ@NoVa 31.12.2008 17:19

Цитата:

Сообщение от gold-goblin
Подскажите, гденибуть в интернете можно найти кагбы маленькие задачки для закрепления пройденого материала =)?
Просто сейчас уже прочитал 63 страницы книги Yazik_programmirovaniya_python
И решил закрепить материал, а в голову ничего не лезет =(
Да всех с последим днем 2008 года!!!

http://forum.academ.org/uploads/mont...1193818734.jpg

Chaak 31.12.2008 18:51

На, вот хорошая книжка в отличном качестве. Полный питон + всякие задания в конце глав.
Цитата:

http://webfile.ru/2523676

gold-goblin 31.12.2008 19:31

ChaaK
Спасибо! Книга супер!!!

gold-goblin 01.01.2009 22:29

тут поевился еще вопрос.
Значит написал я сегодня за 5 минут первую свою программу:
Цитата:

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'
Прога спокойно принемается иремпритатором, но при попытке выполнить эту функцию выписывает ошибку
Цитата:

<function fil at 0x819d844>
Где я напортачил?

t00th 01.01.2009 22:38

Цитата:

Сообщение от gold-goblin
тут поевился еще вопрос.
Значит написал я сегодня за 5 минут первую свою программу:


Прога спокойно принемается иремпритатором, но при попытке выполнить эту функцию выписывает ошибку Где я напортачил?

Пиши с отступами, ничерта не понятно.
Ошибку которую увидел, открываешь файл для чтения, а сам пытаешься что-то записать.
file=open(test.txt, w)

add: По книжкам, почитай Programming Python Mark Lutz.Второе издание в сети найти легко, третье на русском вряд ли найдешь, если с английским хорошо то лучше его ищи.Там темы с примерами, что потом не было таких кошмарных "способов закрепить" :)

gold-goblin 01.01.2009 22:48

пишу с табуляцией в роле оцтупа и из -за этого возможно их не видно в цитате...
Код:

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+ но у меня выскакивает ошибка синтаксиса... Спасибо что сказал про режим работы с файлом =) сейчас поменяю

gold-goblin 01.01.2009 23:04

тагже менял режимы на w и wb проблемма 1 и таже

t00th 01.01.2009 23:14

Цитата:

Сообщение от gold-goblin
тагже менял режимы на w и wb проблемма 1 и таже

file=open('/home/user/log.txt', 'w')
Кавычки забыл, все работает

gold-goblin 01.01.2009 23:27

неа, ошибка всеравно есть =(

t00th 01.01.2009 23:33

Цитата:

Сообщение от gold-goblin
неа, ошибка всеравно есть =(

Пиши какая ошибка, твой код копипастнул, все работает

gold-goblin 02.01.2009 00:05

уже писал.....
Цитата:

<function fil at 0x819d844>

De-visible 02.01.2009 01:23

Велкам ту осику, и объясни проблему там

gold-goblin 02.01.2009 01:26

De-visible
Спасибо но проблема решилась =)
Но думаю скоро будут новые =)

gold-goblin 03.01.2009 02:10

Тут еще 1 ошибочка назрела....
Подскажите, пытаюсь поставить сокет на прослушку таким образом

Код:

import socket
 sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
result = sock.recv(1024)

Ошибка выскакивает тута:

Код:

result = sock.recv(1024)
а вот и ошибка
Код:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
socket.error: (22, 'Invalid argument')



Время: 23:19