Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 15, 2014 21:50:32

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10022
Репутация: +  857  -
Профиль   Отправить e-mail  

Какая ошибка в коде?

Defalt
Вопрос про for я задал, после прочтения главы в книге которую я купил.
Вообще, сначала качаешь, смотришь качество материала, а потом уже покупаешь. Фуфла-то тоже много.

doza_and
Думаю вы перегибаете палку.
Ничего я не перегибаю. В жизни за всё приходится платить, хочешь ты или нет.

doza_and
Все знания должны быть всем свободно доступны.
Ну, давай ты книгу напишешь, а потом будешь её бесплатно раздавать. Тогда и поговорим :)

doza_and
Утверждения похожи на пугалки, что знания из нелегально скачанных книг выедят вам мозг.
Не мозг выедят, а придут некачественно. То есть человек будет читать и половины не заметит. Потом будет считать, что книжка плохая. А другой из этой же книжки то же самое узнает. Какая разница? Первый - халявщик, второй - честный.



Отредактировано py.user.next (Июнь 15, 2014 21:51:12)

Офлайн

#2 Июнь 15, 2014 21:59:52

Budulianin
От:
Зарегистрирован: 2011-10-18
Сообщения: 1218
Репутация: +  33  -
Профиль   Отправить e-mail  

Какая ошибка в коде?

py.user.next
Ну, давай ты книгу напишешь, а потом будешь её бесплатно раздавать. Тогда и поговорим :)

Ты думаешь, что на таких книгах деньги зарабатывают?

py.user.next
То есть человек будет читать и половины не заметит.

По себе судишь? Не все такие.



Офлайн

#3 Июнь 15, 2014 23:09:13

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

Какая ошибка в коде?

py.user.next
В жизни за всё приходится платить, хочешь ты или нет.
Посмотрите может будет интересно http://www.lib.ru/LINUXGUIDE/torvalds_jast_for_fun.txt
Далеко не все согласятся с этим тезисом, если его понимать в узком смысле.
py.user.next
Ну, давай ты книгу напишешь, а потом будешь её бесплатно раздавать. Тогда и поговорим :)
Вам переслать мои публикации? Они все открытые. Но я конечно не претендую на место профи писателя по питону. :)

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

p.s.
Я уважаю ваше мнение. Но у меня есть свое. А судя по рейтингу вы помогли людям в изучении питона в 2 раза больше меня :)



Отредактировано doza_and (Июнь 15, 2014 23:12:37)

Офлайн

#4 Июнь 15, 2014 23:58:47

Defalt
Зарегистрирован: 2014-06-12
Сообщения: 35
Репутация: +  -2  -
Профиль   Отправить e-mail  

Какая ошибка в коде?

Решаю задание из книги, пишет ошибку “non-keyword argafter keyword arg” что с кодом не так?
Нужно написать игру с анаграммами, в которой будут подсказки, и очки. Вот написал:

import random
WORDS='Кот, Ответ, Вопрос'
points=100
corect=word
word=random.choise(WORDS)
while word != "": #while word:
    position=random.randrange(len(word))
    jumble+=word[position]#Добавили букву с позиции
    word=word[:position]+word[(position+1)]#Убираем добавленую букву
print("Вот анаграмма ",jumble)#%s" %jumble
variant=input("\nПопробуй угадать слово: ")
while variant!= corect:
    print("""
           Не угадали
           -----------------
           1 Попробовать еще
           2 Дать подсказку
           3 Выйти
           -----------------
           """)
    vubor=int(input("Ваш выбор: "))
    while vubor != 1 or 2 or 3:
        print("""
           Нет такого пункта!
           -----------------
           1 Попробовать еще
           2 Дать подсказку
           3 Выйти
           -----------------
           """)
        vubor=int(input("Ваш выбор: "))
    if vubor==1:
        variant=input("\nПопробуй угадать слово: ")
    elif vubor==2:
        podsk=int(input("Какую букву открыть?"))
        print(podsk,'буква - ',corect[podsk])
        points-=20
    elif vubor==3:
        input("\nНажмите клавишу для выхода")
print("Вы угадали!!! Слово было: ",corect, end='\nОчков набрано: ',points)
input("\nНажмите клавишу для выхода")

И если можете, подскажите можно как-то оптимизировать код, что бы он был поменьше?

P.S: to doza_and
Вы дали ссылку на книгу Линуса Торвальдса ‘Just for fun’. Что вы этим хотели сказать, что там конкретно написано?

Отредактировано Defalt (Июнь 16, 2014 00:00:36)

Офлайн

#5 Июнь 16, 2014 00:16:43

Shaman
Зарегистрирован: 2013-03-15
Сообщения: 1369
Репутация: +  88  -
Профиль   Отправить e-mail  

Какая ошибка в коде?

print(“Вы угадали!!! Слово было: ”,corect, end='\nОчков набрано: ',points)
Касаемо остального кода: напишите то же самое на известном вам языке?

Отредактировано Shaman (Июнь 16, 2014 00:17:13)

Офлайн

#6 Июнь 16, 2014 00:29:42

Defalt
Зарегистрирован: 2014-06-12
Сообщения: 35
Репутация: +  -2  -
Профиль   Отправить e-mail  

Какая ошибка в коде?

Shaman
Касаемо остального кода: напишите то же самое на известном вам языке?
Я только начал учить python (из любопытства). Других ЯП не знаю. В универе был С++, но знания по нему не очень, т.к. желания не было его учить.
P.S: Ну нада же было не заметить такую ошибку ))) Не те скобки поставил.
UPD: Все равно та же ошибка.

Отредактировано Defalt (Июнь 16, 2014 00:31:11)

Офлайн

#7 Июнь 16, 2014 00:39:22

Defalt
Зарегистрирован: 2014-06-12
Сообщения: 35
Репутация: +  -2  -
Профиль   Отправить e-mail  

Какая ошибка в коде?

Синтаксические ошибки исправил. Осталось логику поправить в коде.

import random
WORDS="Кот, Ответ, Вопрос"
points=100
word=random.choice(WORDS)
corect=word
jumble=""
while word != "": #while word:
    position=random.randrange(len(word))
    jumble+=word[position]#Добавили букву с позиции
    word=word[:position]+word[(position+1):]#Убираем добавленую букву
print("Вот анаграмма ",jumble)#%s" %jumble
variant=input("\nПопробуй угадать слово: ")
while variant != corect:
    print("""
           Не угадали
           -----------------
           1 Попробовать еще
           2 Дать подсказку
           3 Выйти
           -----------------
           """)
    vubor=int(input("Ваш выбор: "))
    while vubor != 1 or 2 or 3:
        print("""
           Нет такого пункта!
           -----------------
           1 Попробовать еще
           2 Дать подсказку
           3 Выйти
           -----------------
           """)
        vubor=int(input("Ваш выбор: "))
    if vubor==1:
        variant=input("\nПопробуй угадать слово: ")
    elif vubor==2:
        podsk=int(input("Какую букву открыть?"))
        print(podsk,'буква - ',corect[podsk])
        points-=20
    elif vubor==3:
        input("\nНажмите клавишу для выхода")
print("Вы угадали!!! Слово было: ",corect,"\nОчков набрано: ",points)
input("\nНажмите клавишу для выхода")

Вот ее вывод:
>>> ================================ RESTART ================================
>>>
Вот анаграмма с

Попробуй угадать слово: as

Не угадали
—————–
1 Попробовать еще
2 Дать подсказку
3 Выйти
—————–

Ваш выбор: 1

Нет такого пункта!
—————–
1 Попробовать еще
2 Дать подсказку
3 Выйти
—————–

UPD: Исправил
WORDS="кот", "ответ", "опрос"
Теперь осталось разобратся с частью которая не дает ввести что-то кроме (1,2,3).

Отредактировано Defalt (Июнь 16, 2014 00:46:56)

Офлайн

#8 Июнь 16, 2014 00:54:27

Defalt
Зарегистрирован: 2014-06-12
Сообщения: 35
Репутация: +  -2  -
Профиль   Отправить e-mail  

Какая ошибка в коде?

Что с выбором только 1,2,3 не стал разбиратся. Код и так работает, но при выборе 4+ выводит то же, что и при не правильном вводе анаграммы.
Рабочий код:

import random
WORDS="кот", "ответ", "опрос"
points=100
word=random.choice(WORDS)
corect=word
jumble=""
while word != "": #while word:
    position=random.randrange(len(word))
    jumble+=word[position]#Добавили букву с позиции
    word=word[:position]+word[(position+1):]#Убираем добавленую букву
print("Вот анаграмма ",jumble)#%s" %jumble
variant=input("\nПопробуй угадать слово: ")
while variant != corect:
    print("""
           Не угадали
           -----------------
           1 Попробовать еще
           2 Дать подсказку
           3 Выйти
           -----------------
           """)
    vubor=int(input("Ваш выбор: "))
##    while vubor != 1 or 2 or 3:
##        print("""
##           Нет такого пункта!
##           -----------------
##           1 Попробовать еще
##           2 Дать подсказку
##           3 Выйти
##           -----------------
##           """)
##        vubor=int(input("Ваш выбор: "))
    if vubor==1:
        variant=input("\nПопробуй угадать слово: ")
        points-=1
    elif vubor==2:
        podsk=int(input("Какую букву открыть?"))
        print(podsk,'буква - ',corect[(podsk-1)])
        points-=20
        variant=input("\nПопробуй угадать слово: ")
    elif vubor==3:
        input("\nНажмите клавишу для выхода")
print("Вы угадали!!! Слово было: ",corect,"\nОчков набрано: ",points)
input("\nНажмите клавишу для выхода")
P.S: Но с vubor=int при вводе букв, появляется ошибка. Только цифры.

Отредактировано Defalt (Июнь 16, 2014 01:03:24)

Офлайн

#9 Июнь 16, 2014 02:25:51

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10022
Репутация: +  857  -
Профиль   Отправить e-mail  

Какая ошибка в коде?

Budulianin
Ты думаешь, что на таких книгах деньги зарабатывают?

На каких таких?

Budulianin
По себе судишь? Не все такие.

Да повидал пиратов.
Они ничего не знают и не умеют, только красть умеют. Накачают сотню книг и сидят нулями.

doza_and
Далеко не все согласятся с этим тезисом, если его понимать в узком смысле.

doza_and
Вам переслать мои публикации? Они все открытые. Но я конечно не претендую на место профи писателя по питону. :)

Вот теперь возьми это дело, отнеси в издательство, там бесплатно выпусти, а потом раздавай. Одно дело, когда человек бесплатно раздаёт своё, а другое дело, когда он бесплатно не раздаёт своё, а продаёт. Потому что вложил что-то в это.

Лутц бесплатно не раздаёт, скачивание его книг - кража интеллектуальной собственности. Это если юридически обозначать. Но если смотреть на мир через нравственные, а не юридические рамки, то это просто воровство. А воровать что? Правильно, воровать плохо.



Офлайн

#10 Июнь 16, 2014 06:54:14

Shaman
Зарегистрирован: 2013-03-15
Сообщения: 1369
Репутация: +  88  -
Профиль   Отправить e-mail  

Какая ошибка в коде?

py.user.next
Но если смотреть на мир через нравственные, а не юридические рамки, то это просто воровство.
Задачка по этике: скачать, потому что информация нужна сейчас, а заплатить потом, потому что нужно заплатить - воровство?

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version