Пожалуйста, дайте мне знать, что я не так делаю в этом коде python?

#python-3.x #dictionary

#python-3.x #словарь

Вопрос:

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

 favorite_language = {
    "jen": "python",
    "sarah": "c",
    "edward":"ruby",
    "phil":"python"}

take_poll = ["sarah", "arjun", "phil"]

for name  in favorite_language.keys():
    print(f"Thank you for voting, {name}.")

    if name in take_poll:
        to_poll = favorite_language[name].title()
        print(f"Please take part in poll, {to_poll}.")
  

Комментарии:

1. что показывает ошибка?

Ответ №1:

Надеюсь, это удовлетворит ваши требования, если это не так, пожалуйста, сообщите мне. Спасибо

 favorite_language = {
    "jen": "python",
    "sarah": "c",
    "edward":"ruby",
    "phil":"python"}

take_poll = ["sarah", "arjun", "phil"]

for name  in favorite_language.keys():
    if name in take_poll:
        print(f"Thank you for voting, {name}.")

    else:
        to_poll = favorite_language[name].title()
        print(f"Please take part in poll, {to_poll}.")
  

Ответ №2:

Это может быть то, что вы хотите. В обоих списках есть два имени, поэтому я даю favorite_language приоритет списку. Я предполагаю favorite_language , что это для людей, которые уже проголосовали.

 favorite_language = {
    "jen": "python",
    "sarah": "c",
    "edward":"ruby",
    "phil":"python"}

take_poll = ["sarah", "arjun", "phil"]

for name in set(favorite_language.keys())|set(take_poll):
    if name in favorite_language:
        print(f"Thank you for voting, {name.title()}.")
    else:
        to_poll = name.title()
        print(f"Please take part in poll, {to_poll}.")
  

Вывод

 Please take part in poll, Arjun.
Thank you for voting, Edward.
Thank you for voting, Phil.
Thank you for voting, Sarah.
Thank you for voting, Jen.