Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.93/15: Рейтинг темы: голосов - 15, средняя оценка - 4.93
0 / 0 / 1
Регистрация: 18.12.2020
Сообщений: 9

Болен или нет

19.12.2020, 12:11. Показов 3390. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Доктрина интенционального знания - Доктрина для портала "Срез".
Hrethgir 25.07.2026
Может найдётся кто захочет оценить доктрину. . . Написания правил участия для меня роскошь, требующая лимита времени, поэтому все сообщения не прошедшие модерацию будут видны только участникам портала,. . .
сукцессия 44. Решил подать на припринт в межународные сервисы препринтов. Но нужно одобрение от ученых
anaschu 25.07.2026
Английский вариант. Пока кто то не одобрит мою личность, мне не получиться это опубликовать на препринте. Но заявку на публикацию статьи я сегодня подам.
сукцессия 43. Вторая научная статья за месяц- прайминг и гатгил
anaschu 25.07.2026
две стороны одной монеты
Более приземисто - Эстафету хвоста в .cdl (деревья эстафеты в сад).
Hrethgir 24.07.2026
В будущем, после написания блока инверсии обхода дерева (эстафеты хвоста), я планирую вернуться к нашему прошлому разговору о том, обладают ли знания целеполаганием. Тогда я пришел к выводу, что. . .
Вот представьте что вам дали бессмертие.
kumehtar 24.07.2026
Вот представьте что вам дали бессмертие, ничего более не меняя. Вообще ничего, только бессмертие в нынешнем виде. Рады были бы? Что бы вы тут делали всё это время? Никакой пенсии. Никакого нового. . .
сукцессия 41
anaschu 24.07.2026
Численная верификация бифуркации в агентной модели лесной сукцессии: от одного параметра к ансамблю Автор: пользователь @Shumilov_AS | Раздел: Прикладная математика / Численные методы Кратко. . .
сукцессия 40. Ансамблевая кластерная параметризаци, часть 1.
anaschu 24.07.2026
Пр# Сопровождение научной статьи ИИ-ассистентом: подготовка публикации и калибровка агентно-ориентированной модели сукцессии микоризных систем **Полевые заметки о двухнедельной совместной работе**. . .
Теория всего 12. ВГК на планете в стратегической игре "терра"
anaschu 21.07.2026
### Главные семантические изменения и дешифровка новой физики 1. **`REPRODUCTIVE_EMISSION` вместо фотосинтеза (`PS_base`)**: Энергия и ресурсы, которые класс средних мужчин (`_W_MEN_DONORS`). . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru