Member 13880137 Ответов: 1

Я постоянно получаю сообщения об ошибках относительно того, что я должен делать, а не того, что я на самом деле сделал


# ИНСТРУКЦИИ
#
# В этой программе вы должны спросить пользователя:
# "Как тебя зовут?"
#
# А затем ответьте, распечатав персональное приветствие.


# ОБЩЕЕ ПРАВИЛО
#
# Для человека по имени Мария ответьте печатью:
# Привет, Мария :)
#
# Для человека по имени Уолли ответьте печатью:
# Привет, Уолли :)
#
# ...прием.
#
# В общем, для человека по имени <name> ответьте печатью:
# Привет <имя>


# СПЕЦИАЛЬНОЕ ИМЯ
#
# Два человека особенные: Амар и бренди.
# Человек по имени Амар или бренди должен получить дополнительный комментарий после того, как вы поздороваетесь
#
# Для человека по имени Амар ответьте, сказав::
# Привет, Амар :)
# Мне нравятся твои туфли
#
# Для человека по имени Брэнди ответьте, сказав::
# Привет, Бренди :)
# Ты кажешься мне крутым человеком


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


# --------------------------------------------------------------------


# Поместите свой код Python сюда:

Что я уже пробовал:

name = input("What is your name? ")
print("Hello",name+" :)")

if name == 'Amar':
  print ("I like your shoes")
elif name == 'Brandy':
    print ("You seem like a cool person")

Richard MacCutchan

Я запустил ваш код, и он не показывает никаких ошибок. Какие сообщения об ошибках вы видите?

CPallini

- Ты кажешься мне классным человеком"
:-)

Richard MacCutchan

:)

1 Ответов

Рейтинг:
1

Mohibur Rashid

Это довольно интересно. Когда я тестировал ваш код в командной строке windows он потерпел неудачу с вашим скриптом:

name = input("What is your name? ")
print("Hello",name+" :)")
if name == 'Amar':
  print ("I like your shoes")
elif name == 'Brandy':
    print ("You seem like a cool person")


Команда и результат:
# windows
> echo Brandy | python hello.py
What is your name? Hello Brandy  :)


Но он успешно работал на linux:
$ echo Brandy | python3.6 hello.py
What is your name? Hello Brandy :)
You seem like a cool person


Причина в том, что в windows name также содержится новая строка; в linux ее нет.

Решение:
name = input("What is your name? ")
name = name.strip()
print("Hello",name+" :)")
if name == 'Amar':
  print ("I like your shoes")
elif name == 'Brandy':
    print ("You seem like a cool person")


Richard MacCutchan

Отличный анализ.

Mohibur Rashid

:) спасибо