0 / 0 / 1
Регистрация: 18.12.2020
Сообщений: 9

Болен или нет

19.12.2020, 12:11. Показов 3399. Ответов 30

Студворк — интернет-сервис помощи студентам
Задать вопросы, и если с человеком всё хорошо, то написать "Геннадий Николаевич здоров" или "Михаил Викторович болен":
Имя
Фамилия
Температура
Контактировал ли с больными коронавирусом? Да/нет
Есть ли симптомы ОРВИ? Да/нет

Если Темп.>37,2 или один или более ответов «да», болен, иначе здоров
Заранее спасибо за помощь, очень интересно посмотреть на код данной "задачки"
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
19.12.2020, 12:11
Ответы с готовыми решениями:

Известны фамилии N человек, их семейное положение: женат (замужем) или нет, и сведения о наличии детей (есть или нет)
Известны фамилии N человек, их семейное положение: женат (замужем) или нет, и сведения о наличии детей (есть или нет). Определить...

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

Андрей или переутомился (A), или болен (B). Если он переутомился, то он раздражается (C). Он не раздражается
Андрей или переутомился (A), или болен (B). Если он переутомился, то он раздражается (C). Он не раздражается. Следует ли отсюда, что он не...

30
Эксперт Pascal/Delphi
 Аватар для droider
4893 / 2826 / 867
Регистрация: 04.10.2012
Сообщений: 10,278
19.12.2020, 17:01
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от p3rf8 Посмотреть сообщение
Там же механическая ошибка
не-а. Программа просто не воспримет такой ответ "ДА", "Да" или "дА" как выполнение условия, при сравнении ответа со значением "да". Хотя ответ положительный. Посмотрите, что у меня написано для избежания подобной ситуации.

И, конечно же, Вы снова не учли ввод температуры.

Цитата Сообщение от Рыжий Лис Посмотреть сообщение
я ещё раз намекну
0
0 / 0 / 1
Регистрация: 18.12.2020
Сообщений: 9
19.12.2020, 17:59  [ТС]
Лучший ответ Сообщение было отмечено Рыжий Лис как решение

Решение

Короче. Изучил ваши сообщения и всё исправил. Конечный код:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
x = input("Как Вас зовут? ")
y = input("Ваша фамилия? ")
z = float(input("Ваша температура? "))
d = input("Контактировали ли с больными? ")
k = input("Есть симптомы ОРВИ? ")
if z > 37.2 :
    print (x, " ", y, " ", "болен")
elif d == ("да") :
        print (x, " ", y, " ", "болен")
 
elif k == ("да") :
        print (x, " ", y, " ", "болен")
else :
        print (x, " ", y, " ", "не болен")
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
19.12.2020, 18:07
supmener, мы уже решили задачу без тебя!

Python
1
2
3
4
5
6
7
8
9
firstname = input("Как Вас зовут? ")
surname = input("Ваша фамилия? ")
t = float(input("Ваша температура? "))
is1 = input("Контактировали ли с больными? ")
is2 = input("Есть симптомы ОРВИ? ")
if t > 37.2 or is1 == "да" or is2 == "да":
    print(f"{firstname} {surname} болен")
else:
    print(f"{firstname} {surname} не болен")
1
Эксперт Pascal/Delphi
 Аватар для droider
4893 / 2826 / 867
Регистрация: 04.10.2012
Сообщений: 10,278
19.12.2020, 18:11
Цитата Сообщение от Artem_Go Посмотреть сообщение
всё исправил
Да? И это?

Цитата Сообщение от droider Посмотреть сообщение
Программа просто не воспримет такой ответ "ДА", "Да" или "дА"

Я Вам уже давал готовый код.
0
0 / 0 / 1
Регистрация: 18.12.2020
Сообщений: 9
19.12.2020, 19:07  [ТС]
Согласен, вы уже решили. Но конкретно в вышеперечисленных решениях нахожу много непонятных мне вещей "k.lower","d.lower" и т.п Меня же интересовало тупо решение с if/else, которое после моего в немного в другом варианте предоставил Лис, кстати, спасибо и за такой вариант, учту такое сокращение. Я себе его нашёл и поделился свои успехом со всеми вами. Так что, пожалуйста, не судите строго, скоро я начну изучать вещи и посложнее...
0
Эксперт Pascal/Delphi
 Аватар для droider
4893 / 2826 / 867
Регистрация: 04.10.2012
Сообщений: 10,278
19.12.2020, 20:33
Цитата Сообщение от Artem_Go Посмотреть сообщение
много непонятных мне вещей "k.lower","d.lower"
прочитать про строчный метод Lower() было не судьба?
Цитата Сообщение от Artem_Go Посмотреть сообщение
интересовало тупо решение с if/else
это и было тупо решение с if-else.

Цитата Сообщение от Artem_Go Посмотреть сообщение
немного в другом варианте предоставил Лис
хорошо. Жаль, что не поняли то, что я пытался до Вас донести. Успехов!

Те, кто пишут программные продукты с мало-мальской "защитой от дурака", выходя за рамки учебных задач, поймут о чем я говорю Только это чуть другой случай, но знать полезно. Вам, конечно, это ни к чему.
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
19.12.2020, 20:40
Цитата Сообщение от droider Посмотреть сообщение
Те, кто пишут программные продукты с мало-мальской "защитой от дурака", выходя за рамки учебных задач, поймут о чем я говорю
Например, я не понимаю. Валидировать входные данные - раз, обрабатывать ошибки - два. Что ещё ты хочешь?
0
Эксперт Pascal/Delphi
 Аватар для droider
4893 / 2826 / 867
Регистрация: 04.10.2012
Сообщений: 10,278
19.12.2020, 20:48
Цитата Сообщение от Рыжий Лис Посмотреть сообщение
обрабатывать ошибки - два
вот об этом и говорю.
Цитата Сообщение от Рыжий Лис Посмотреть сообщение
Что ещё ты хочешь?
от тебя ничего.
0
9 / 7 / 3
Регистрация: 19.03.2020
Сообщений: 37
20.12.2020, 09:25
Цитата Сообщение от droider Посмотреть сообщение
не-а. Программа просто не воспримет такой ответ "ДА", "Да" или "дА" как выполнение условия, при сравнении ответа со значением "да". Хотя ответ положительный. Посмотрите, что у меня написано для избежания подобной ситуации.
И, конечно же, Вы снова не учли ввод температуры.
Мне уже стало интересно, сейчас проверил - всё работает. Почему говорите что не принимает? Проверил по всем условиям, в любом случае выводит правильный результат.

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
names={}
 
names['first'] = input("Как Вас зовут?\t")
names['second']= input("Ваша фамилия?\t")
names['temperature'] = int(input("Ваша температура?\t"))
if names['temperature'] <=36.4 or names['temperature']>=40 :
    print("Input error")
    names['temperature'] = int(input("Ваша температура?\t"))
names['contacted'] = input("Контактировали ли с больными?\t")
names['symptoms'] = input("Есть симптоомы ОРВИ?\t")
if names['temperature'] > 37.2 or names['contacted']=="да" or names['symptoms'] == ("да") :
    print (names['first'].title(), names['second'].title(), "болен")
else :
    print (names['first'].title(), names['second'].title(), "не болен")
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
20.12.2020, 09:42
p3rf8
Кликните здесь для просмотра всего текста
Python
1
2
3
4
5
6
7
8
9
firstname = input("Как Вас зовут? ")
surname = input("Ваша фамилия? ")
t = float(input("Ваша температура? "))
is1 = input("Контактировали ли с больными? ")
is2 = input("Есть симптомы ОРВИ? ")
if t > 37.2 or is1 == "да" or is2 == "да":
    print(f"{firstname} {surname} болен")
else:
    print(f"{firstname} {surname} не болен")


Code
1
2
3
4
5
6
Как Вас зовут? fox
Ваша фамилия? fox
Ваша температура? 35
Контактировали ли с больными? ДА
Есть симптомы ОРВИ? Да
fox fox не болен
Добавлено через 52 секунды
И ты ещё так и не пофиксил ввод температуры.
0
9 / 7 / 3
Регистрация: 19.03.2020
Сообщений: 37
20.12.2020, 09:52
Цитата Сообщение от Рыжий Лис Посмотреть сообщение
И ты ещё так и не пофиксил ввод температуры.
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
names={}
 
names['first'] = input("Как Вас зовут?\t")
names['second']= input("Ваша фамилия?\t")
names['temperature'] = float(input("Ваша температура?\t"))
if names['temperature'] <36 or names['temperature']>=40 :
    print("Input error")
    names['temperature'] = float(input("Ваша температура?\t"))
names['contacted'] = input("Контактировали ли с больными?\t")
names['symptoms'] = input("Есть симптоомы ОРВИ?\t")
if names['temperature'] > 37.2 or names['contacted']=="да" or names['symptoms'] == "да" :
    print (names['first'].title(), names['second'].title(), "болен")
else :
    print (names['first'].title(), names['second'].title(), "не болен")
А смысла проверять регистр не вижу, если вы уже к этому прицепились)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
20.12.2020, 09:52

Анализ введенного числа (целое или нет; положительное, отрицательное или нуль четное или нет)
Здравствуйте Недавно начал изучать С++ Ну и столкнулся с проблемным заданием Очень срочно нужно для экзамена Составить программу для...

Известны фамилии N человек, их семейное положение: женат (замужем) или нет, и сведения о наличии детей (есть или нет)
Известны фамилии N человек, их семейное положение: женат (замужем) или нет, и сведения о наличии детей (есть или нет). Определить...

Кажется я болен
Всем привет. У меня на минте стоит Cairo-dock, не суть почему именно его я выбрал в качестве такс менеджера, суть в том , что сижу я...

Яндекс болен
Собственно вот не только у меня upd такое было далёком 2005ом

Известны фамилии 25-ти человек, их семейное положение:женат(замужем) или нет, и сведения о наличии детей(есть или нет). Определить фамилии:
Известны фамилии 25-ти человек, их семейное положение:женат(замужем) или нет, и сведения о наличии детей(есть или нет). Определить фамилии...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
31
Ответ Создать тему
Опции темы

Новые блоги и статьи
Альцгеймер и колоссальный объем вычислений
Programma_Boinc 08.08.2026
Альцгеймер и колоссальный объем вычислений Сейчас по направлению болезни Альцгеймера идет колоссальный объем вычислений. Это один из главных приоритетов проекта. Такой массовый наплыв задач. . .
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701 Купил два термопринтера QR701. На сэлф-тесте написано: Language: PC936 (GB18030). Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
Создание формы заимствованного документа
Maks 03.08.2026
Задача: Необходимо создать собственную форму заимствованного документа. На форме должен быть реквизит "Покупатель", а также табличная часть со следующими реквизитами: - Расчетный счет покупателя. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru