Как ответ введен в программу

Ребят, всем привет! Python начал изучать недавно, много чего еще не знаю. Нужна ваша помощь.
Делал я программу которая выводит на экран рандомные примеры, которые пользователь должен был решать. И столкнулся с проблемой, что не знаю как сделать проверку того, что ввел пользователь. Помогите мне пж.

#coding utf8: #меню print(«Выберете уровень сложности :») otv = (input(«1 — Easy » + «2 — Medium» + «3 — Hard — «)) # если ввел верные данные if otv == «1»: t2 = True print(«Решите примеры «) #если ввел не верные данные if otv != «1»: while True: print(«Введенно не правильное действие») print(«Попробуйте еще раз :») otv = (input(«1 — Easy » + «2 — Medium» + » 3 — Hard — «)) if otv == «1»: t2 = True print(«Решите примеры «) break while t2: import random a = random.randint(0, 20) b = random.randint(0, 20) r = a + b otv1 = (input(str(a) + » + «+ str(b) + » = » )) if r == «otv1»: v = «Верно » print(v) else: v1 = «Не верно » print(v1)

  • Вопрос задан более трёх лет назад
  • 4081 просмотр

10 комментариев

Ответы на урок 2023! Новый способ!

Простой 10 комментариев

Источник: qna.habr.com

Создаем тест, лотерею и калькулятор
с помощью if и Scanner

Как ответ введен в программу

Войдите как ученик, чтобы получить доступ к материалам школы

Внутренний язык программирования 1С 8.3 для начинающих программистов: использование диалогов в 1С

Автор уроков и преподаватель школы: Владимир Милькин

Давайте определимся, что же такое диалог? Вызов команды Сообщить является диалогом? А вызов команды ВвестиЧисло? А вызов ОткрытьЗначение?

Итак, диалог — это прежде всего элемент графического интерфейса , окно . А следовательно вызов Сообщить — диалогом не является, так как у него нет своего отдельного окна.

Читайте также:
Логистика и ее роль в производственной программе

Диалог — это не просто окно. Это окно, которое открывается пользователю с целью вывода информации и (или) получения ответа.

Вопрос Вывод значения

Для того чтобы показать какой-либо диалог необходимо вызвать команду соответствующую этому диалогу и передать ей необходимые параметры. Команда — это обычная процедура или функция, только написанная не нами, а программистами фирмы 1С. Мы не можем менять эти команды, мы можем их только вызывать.

Предупреждение

Отличным примером диалога является вывод предупреждения пользователю:

Предупреждение(«Осторожно!»);

Что мы видим? Вызов команды Предупреждение, в которую в качестве параметра передаётся строка «Осторожно».

Как написать онлайн тест на 12. ВЗЛОМАЛИ СИСТЕМУ

Когда компьютер дойдёт до строчки, в которой вызывается эта команда, пользователю отобразится диалог предупреждения. И до тех пор, пока пользователь не закроет этот диалог, компьютер будет ожидать на этой же строчке. Только после закрытия диалога — выполнение программы продолжится и начнётся выполнение строки, следующей за вызовом диалога.

К примеру, пусть у нас есть такой код:

Предупреждение(«1»); Предупреждение(«2»); Предупреждение(«3»);

Как он будет выполняться?

В начале компьютер дойдёт до строчки №1 и выполнит команду Предупреждение с параметром «1». В этот момент пользователю покажется диалоговое окно с текстом «1», а компьютер замрёт на этой строчке и будет ожидать, пока пользователь закроет диалог. Вы читаете ознакомительную версию урока, полноценные уроки находятся здесь.

После закрытия диалога компьютер перейдёт к выполнению строчки №2 и выполнит команду Предупреждение уже с другим параметром «2». Пользователю снова покажется диалоговое окно, но уже с текстом «2», а компьютер замрёт уже на второй строчке и будет ожидать, пока пользователь закроет диалог.

Затем компьютер перейдёт к третьей строчке. Ну и так далее.

У команды Предупреждение параметр, отвечающий за текст, который выводится — не единственный. Есть ещё два дополнительных параметра:

Таймаут — означает количество секунд, через которое диалог закроется сам, если этого не сделает пользователь.

К примеру, такой код:

Читайте также:
Фестиваль люди как люди программа

Предупреждение(«Осторожно.», 5, «Внимание!»);

покажет диалог с текстом «Осторожно.» и заголовком «Внимание!», а также закроется через 5 секунд, если пользователь не сделает этого раньше:

А что если мы хотим задать только текст и заголовок окна, а таймаут не задавать?

Во-первых, мы можем передать в качестве таймаута ноль:

Предупреждение(«Осторожно.», 0, «Внимание!»);

А во-вторых, мы можем просто оставить пустое место вместо параметра и система сама поймёт, что нужно оставить его значение по умолчанию:

Предупреждение(«Осторожно.», , «Внимание!»);

Для того, чтобы узнавать обо всех возможных параметрах встроенных команд 1С — пользуйтесь синтакс-помощником так, как это описано в одном из предыдущих уроков (ссылка).

Ввод числа

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

К примеру, напишем:

Число = 0; ВвестиЧисло(Число);

02

Зачем мы передаём в команду параметр Число? Во-первых, для того, чтобы отобразить начальное значение ввода в диалоге. А, во-вторых, чтобы вернуть в эту переменную значение, которое ввёл пользователь. Вы читаете ознакомительную версию урока, полноценные уроки находятся здесь.

Но что если пользователь отказался от ввода и нажал кнопку «Отмена»? Как об этом узнать? Оказывается, функция ВвестиЧисло не только показывает диалог ввода числа, но ещё и возвращает нам Истина в том случае, если пользователь нажал кнопку «ОК» и Ложь, если он отменил ввод, нажав кнопку «Отмена».

Таким образом, более правильным будет такой код:

Число = 0; Результат = ВвестиЧисло(Число); Если Результат = Истина Тогда ОткрытьЗначение(«Вы ввели » + Строка(Число)); Иначе ОткрытьЗначение(«Вы отменили ввод»); КонецЕсли;

В переменную Результат (имя могло быть любым) возвращается Истина или Ложь в зависимости от того какую кнопку нажал пользователь («ОК» или «Отмена»).

В переменную Число возвращается число введенное пользователем.

Вопрос

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

Имя команды, которая вызывает этот диалог нам известна — Вопрос.

Читайте также:
Как пользоваться программой вайбер в телефоне

Теперь давайте посмотрим в синтакс-помощнике какие параметры принимает эта команда:

ТекстВопроса — это сам вопрос в текстовом виде, который увидит пользователь.

Кнопки — это одно из предопределенных значений, которые также можно посмотреть в синтакс-помощнике. Например, если передать в этот параметр:

    • РежимДиалогаВопрос.ДаНет — в диалоге будет всего две кнопки Да и Нет.
    • РежимДиалогаВопрос.ДаНетОтмена — три кнопки Да, Нет и Отмена.
    • РежимДиалогаВопрос.ОкОтмена — две кнопки Ок и Отмена.
    • И другие варианты кнопок.

    Таймаут — этот параметр нам уже знаком.

    КнопкаПоУмолчанию — это кнопка, на которой будет фокус при показе окна. Её значения могут быть такими:

      • КодВозвратаДиалога.Нет
      • КодВозвратаДиалога.Да
      • КодВозвратаДиалога.Отмена
      • И другие кнопки.

      КнопкаТаймаута — если задать значение этой кнопки и параметр Таймаут, то именно на ней будет отображаться количество оставшихся секунд до закрытия диалога. У неё могут быть такие же значения как и у параметра КнопкаПоУмолчанию.

      Уфф. Как видите, параметров много. Вы читаете ознакомительную версию урока, полноценные уроки находятся здесь. Но необязательно использовать их все. Как следует из синтакс-помощника обязательными к заполнению являются только первые два:

      Вопрос(«Вы хорошо выспались?», РежимДиалогаВопрос.ДаНет);

      Вопрос

      Вопрос-то мы задали. Хорошо бы теперь получить ответ — выспался пользователь или нет Из того же синтакс-помощника мы узнаём, что кнопка которая была нажата возвращается в качестве результата вызова команды Вопрос:

      Результат = Вопрос(«Вы хорошо выспались?», РежимДиалогаВопрос.ДаНет); Если Результат = КодВозвратаДиалога.Да Тогда ОткрытьЗначение(«Какой вы молодец!»); Иначе ОткрытьЗначение(«Нужно раньше ложиться!»); КонецЕсли;

      Модальность

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

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

      Таким недостатком не обладают немодальные версии диалогов, но к ним переходить нам ещё рано.

      Источник: helpme1s.ru

      Рейтинг
      ( Пока оценок нет )
      Загрузка ...
      EFT-Soft.ru