Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Нужен совет по условиям в Питоне, объединение вопросов в группы 
:(
    Опции темы
Oxidous
Дата 16.10.2015, 08:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 24.9.2015

Репутация: нет
Всего: нет



Всем доброго времени суток,
Только начал изучать Питон по книге Майкла Доусона "Программируем на Python".
Интересует такой вопрос,можно ли объединить как-то вопросы в Питоне? В группу или как-то ещё? Не могу точно сформулировать вопрос.
Сейчас объясню,что я имею ввиду. Допустим,нужно написать программу- тест. Есть 10 вопросов, ответ на каждый вопрос- либо "Да", либо "Нет". Причём "Да" или "Нет" юзер вводит с клавиатуры. Если,допустим, юзер на 1, 2, 4, 7, 10 вопросы отвечает "Да",а на 3, 5, 6, 8, 10 отвечает "Нет" то выводится один ответ, если на 1, 3, 5, 7, 9 отвечает "Нет", а на 2, 4, 6, 8, 10 отвечает "Да", то выводится другой ответ,и т.д.
Пускай переменная с вопросом будет называться "q". Первый вопрос - q1, второй - q2 и т.д. А можно ли как-то сделать так,чтоб,допустим, выглядело как-то так:

Код

q1 = input("Вы курите? Да/Нет: ")
.
.
.
if q1, q2, q3, q4, q5 = 'Да' and q6, q7, q8, q9, q10 = 'Нет':
    print("Ответ")
elif q2, q4, q7, q8, q9 = 'Да' and q1, q3, q5, q6, q10 = 'Нет':
    print("Другой ответ")


Просто мне нужно написать простенькую экспертную систему с 10 вопросами, а если писать так:

Код

if q1 = 'y' and q2 = 'y' and q3 = 'y' and q4 = 'y' and q5 = 'y' and q6 = 'y' and q7 = 'y' and q8 = 'n' and q9 = 'n' and q10 = 'y':
    print("")
elif q1 = 'y' and q2 = 'y' and q3 = 'y' and q4 = 'y' and q5 = 'y' and q6 = 'n' and q7 = 'y' and q8 = 'n' and q9 = 'n' and q10 = 'y':
    print("")
elif q1 = 'y' and q2 = 'n' and q3 = 'y' and q4 = 'y' and q5 = 'n' and q6 = 'y' and q7 = 'y' and q8 = 'y' and q9 = 'n' and q10 = 'y':
    print("")
elif q1 = 'y' and q2 = 'y' and q3 = 'n' and q4 = 'n' and q5 = 'y' and q6 = 'y' and q7 = 'y' and q8 = 'y' and q9 = 'y' and q10 = 'y':
    print("")
.
.
.


Я скорее на пенсию выйду, чем закончу писать все возможные условия и ответы под каждое такое длинное условие ))
Знаю, что могут использоваться словари, но пока не представляю, как реализовать привязку словаря к вопросам.

P.S. Не знаю, важно это или нет, но пишу в IDLE 4.3.4
PM MAIL   Вверх
Romikgy
Дата 16.10.2015, 08:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 3
Всего: 146



Код

OK1=True
OK2=True
c1=[q1, q2, q3, q4, q5]
for i in c1:
    if i !='Да':
        OK1=False
        break
c2=[q6, q7, q8, q9, q10]
for i in c2:
    if i !='Нет':
        OK2=False
        break
if OK1 and OK2:
    print("Ответ")



--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Python: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0393 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.