Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 15, 2017 20:00:32

MONOPOLEEGUY
Зарегистрирован: 2017-09-14
Сообщения: 10
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите избавиться от ошибки: keyword can't be an expression

Вот код:

 import codecs, sys
outf = codecs.getwriter('cp866')(sys.stdout, errors='replace')
sys.stdout = outf
from sys import argv
script, user_name, your_weight  = argv
prompt = '>'
print u"Привет %s, Я - сценарий %r." % (user_name, script)
print u"Я хочу задать тебе несколько вопросов."
print u"Я тебе нравлюсь, %s?" % user_name
likes = raw_input(prompt).decode(sys.stdin.encoding or 
locale.getprefferredencoding(True))
print" Ты весишь %r кг!! Cколько тебе лет?" % your_weight
ages = raw_input(prompt).decode(sys.stdin.encoding or locale.getpreferredencoding(True))
print u"Где ты живешь, %s?" % user_name
lives = raw_input(prompt).decode(sys.stdin.encoding or locale.p=getpreferredencoding(True))
print u"На каком компьютере ты работаешь?"
computer  = raw_input(prompt).decode(sys.stdin.encoding or locale.p=getpreferredencoding(True))
print """Ты ответил %r на вопрос, нравлюсь ли я тебе.
Ты живешь в %r. Не представляю, где это.
И в твои %r, у тебя есть компьютер %r. Прекрасно!
""" % (likes, lives, ages, computer)
Вот ошибка:Last login: Fri Sep 15 17:11:13 on ttys000
Air-Sergej:~ SergeyAlekseevich$ python ex14.py rr rr
File “ex14.py”, line 24
lives = raw_input(prompt).decode(sys.stdin.encoding or locale.p=getpreferredencoding(True))
SyntaxError: keyword can't be an expression
Air-Sergej:~ SergeyAlekseevich$ python ex14.py fuck ff
File “ex14.py”, line 24
lives = raw_input(prompt).decode(sys.stdin.encoding or locale.p=getpreferredencoding(True))
SyntaxError: keyword can't be an expression
Air-Sergej:~ SergeyAlekseevich$

УЖЕ 3 ЧАСА НЕ МОГУ ЕЕ ИСПРАВИТЬ. Что я делаю не так?

Отредактировано FishHook (Сен. 15, 2017 20:06:14)

Офлайн

#2 Сен. 15, 2017 20:06:22

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Помогите избавиться от ошибки: keyword can't be an expression

[code python][/code]



Офлайн

#3 Сен. 15, 2017 20:08:42

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Помогите избавиться от ошибки: keyword can't be an expression

 raw_input(prompt).decode(sys.stdin.encoding or locale.p=getpreferredencoding(True))
Это невалидный синтаксис в питоне, покажите какому правилу по-вашему соответствует эта конструкция



Офлайн

#4 Сен. 15, 2017 20:23:42

MONOPOLEEGUY
Зарегистрирован: 2017-09-14
Сообщения: 10
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите избавиться от ошибки: keyword can't be an expression

Так написано в книге Learn python the hard way

Офлайн

#5 Сен. 15, 2017 20:24:03

MONOPOLEEGUY
Зарегистрирован: 2017-09-14
Сообщения: 10
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите избавиться от ошибки: keyword can't be an expression

Чем можно его заменить чтобы код работал?

Офлайн

#6 Сен. 15, 2017 20:35:20

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Помогите избавиться от ошибки: keyword can't be an expression

MONOPOLEEGUY
Так написано в книге Learn python the hard way
Ни в какой книге так не написано, или это ваши вольные интерпретации или вы крайне плохо читаете.



Офлайн

#7 Сен. 15, 2017 20:39:11

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Помогите избавиться от ошибки: keyword can't be an expression

MONOPOLEEGUY
Чем можно его заменить чтобы код работал?
Откуда я знаю, что должен делать ваш код? Язык программирования - это строго формальный набор синтаксических правил. Откройте документацию по питону, найдите правила передачи аргументов в функцию и убедитесь, что написали ерунду. О чем тут можно продолжительно беседовать?



Офлайн

#8 Сен. 16, 2017 10:58:28

MONOPOLEEGUY
Зарегистрирован: 2017-09-14
Сообщения: 10
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите избавиться от ошибки: keyword can't be an expression

Я исправил ошибки и у меня все заработало, но не выводятся ответы пользователя на русском. (18 -20 строки) Нужно чтобы выводились ответы на русском а не: \xd0\xb2 \xd0\x9c…
SergeyAlekseevich$ python ex14.py sergey 15
Привет sergey, Я - сценарий ‘ex14.py’.
Я хочу задать тебе несколько вопросов.
Я тебе нравлюсь, sergey?
>ДА
Ты весишь ‘15’ кг!! Cколько тебе лет?
>23
Где ты живешь, sergey?
>в Москве
На каком компьютере ты работаешь?
>мак ос
Ты ответил ‘\xd0\x94\xd0\x90’ на вопрос, нравлюсь ли я тебе.# строка 18
Ты живешь в ‘\xd0\xb2 \xd0\x9c\xd0\xbe\xd1\x81\xd0\xba\xd0\xb2\xd0\xb5’. Не представляю, где это.
И в твои ‘23’, у тебя есть компьютер ‘\xd0\xbc\xd0\xb0\xd0\xba \xd0\xbe\xd1\x81’. Прекрасно!

Вот сам код:

# -*- coding: utf- 8 -*-

from sys import argv

script, user_name, your_weight = argv
prompt = ‘>’
print u“Привет %s, Я - сценарий %r.” % (user_name, script)
print u“Я хочу задать тебе несколько вопросов.”
print u“Я тебе нравлюсь, %s?” % user_name
likes = raw_input(prompt)
print“ Ты весишь %r кг!! Cколько тебе лет?” % your_weight
ages = raw_input(prompt)

print u“Где ты живешь, %s?” % user_name
lives = raw_input(prompt)
print u“На каком компьютере ты работаешь?”
computer = raw_input(prompt)
print “”“Ты ответил %r на вопрос, нравлюсь ли я тебе.
Ты живешь в %r. Не представляю, где это.
И в твои %r, у тебя есть компьютер %r. Прекрасно!
”“” % (likes, lives, ages, computer)

Офлайн

#9 Сен. 16, 2017 11:07:45

MONOPOLEEGUY
Зарегистрирован: 2017-09-14
Сообщения: 10
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите избавиться от ошибки: keyword can't be an expression

Как заставить выводить русский текст python?

Офлайн

#10 Сен. 16, 2017 12:12:52

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Помогите избавиться от ошибки: keyword can't be an expression

MONOPOLEEGUY
Я вам вот это для чего написал? Код на форуме нужно оформлять в тегах, разве не видно что иначе ваш код превращается в ерунду?

http://python.su/forum/topic/33606/?page=1#post-183827



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version