12 / 10 / 3
Регистрация: 09.10.2018
Сообщений: 49
1

Таких берут в космонавты

16.10.2018, 23:01. Показов 22819. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Напишите программу, которая считывает рост претендентов в отряд космонавтов до тех пор, пока не будет введен «!». А затем выводит на первой строчке количество подходящих кандидатур, а на второй строке – минимальный и максимальный рост участников, отобранных в новый отряд космонавтов.

Гарантируется, что в отряд отберутся как минимум два летчика-космонавта.

Формат ввода
Несколько строк с ростом космонавтов и последняя строка «!».( рост > 150 но < 190)

Формат вывода
Две строки: количество кандидатур на первой, и максимальный и минимальный рост через пробел – на второй.

Пример
Ввод
192
189
145
162
172
!
Вывод
3
162 189

Уже есть код, но он не правильно работает:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
a = input()
b = 0
MIN = 190
MAX = 150
 
while a != '!':
    a = int(a)    
    if a >= 150 and a <= 190:
        b += 1
        if a >= MAX:
            MAX = a
        elif a <= MIN:
            MIN = a
    a = input() 
print(b)
print(MIN, MAX)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.10.2018, 23:01
Ответы с готовыми решениями:

Таких берут в космонавты
Напишите программу, которая считывает рост претендентов в отряд космонавтов до тех пор, пока не...

Таких берут в космонавты
После полета Юрия Гагарина в 1961 практически каждый мальчик СССР хотел стать космонавтом. Прошло...

в космонавты не берут?
Yandex - отказывается от моей контекст рекламы. Почему? http://mobile-salon.ru

Массив: Найти в каждом столбце матрицы минимальный элемент и среди таких таких элементов найти максимальный
Дана прямоугольная Матрица н строк м столбцов, найти в каждом столбце матрицы минимальный элемент и...

Найти два таких два таких элемента, разность модулей которых имеет максимальное значение
в целочисленном массиве найти два таких два таких элемента,разность модулей котооых имеет...

11
8 / 5 / 7
Регистрация: 15.02.2018
Сообщений: 36
17.10.2018, 03:47 2
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
lst = []
count = 0
while True:
    
    tmp = input('Рост: ')
    if tmp == '!':
        break
    lst.append(int(tmp))
for i in lst:
    if i > 150 and i < 190:
        count += 1
print("Колл-во подходящих кандидатур: ", count)
print("Минимальный рост: ", min(lst),"Максимальный рост: ", max(lst))
Вроде так как нужно, если что непонятно, спрашивай
0
24 / 19 / 6
Регистрация: 10.11.2016
Сообщений: 51
17.10.2018, 03:48 3
Может так:

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
strnumber = input('Введите номера через запятую:')
listnum = strnumber.split(',')
 
li = list(listnum)
 
b = list()
 
for v in li:
    if v == '!':
        break
    v = int(v)
    if v >= 150 and v <= 190:
        b.append(int(v))
 
print(b)
print( "Кандидатов: ", len(b))
print( "Минимальный рост: ", min(b) )
print( "Максимальный рост: ", max(b) )
0
8 / 5 / 7
Регистрация: 15.02.2018
Сообщений: 36
17.10.2018, 03:51 4
megacold, у тебя будет выводить мин и макс элементы не с веденных данных, а только с отобранных, в задании нужно мин и макс со всех данных
0
24 / 19 / 6
Регистрация: 10.11.2016
Сообщений: 51
17.10.2018, 04:08 5
В шапке был вроде представлен правильный вывод:
Вывод
3
162 189

можно легко поменять, добавив после input:
ls = map(int, listnum)

Добавлено через 4 минуты
Все-же у тебя правильное решение)
0
12 / 10 / 3
Регистрация: 09.10.2018
Сообщений: 49
17.10.2018, 08:56  [ТС] 6
Мне нельзя использовать списки

Вот код:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
a = input()
b = 0
MIN = 190
MAX = 150
 
while a != '!':
    a = int(a)    
    if a >= 150 and a <= 190:
        b += 1
        if a >= MAX:
            MAX = a
        elif a <= MIN:
            MIN = a
    a = input() 
print(b)
print(MIN, MAX)
Он на половину работает неправильно,
помогите найти и исправить ошибку
0
4798 / 3198 / 1123
Регистрация: 21.03.2016
Сообщений: 7,915
17.10.2018, 12:21 7
ProgSad, не путайте народ. в задании четко написано
Цитата Сообщение от msmmm Посмотреть сообщение
выводит на первой строчке количество подходящих кандидатур, а на второй строке – минимальный и максимальный рост участников, отобранных в новый отряд космонавтов
0
12 / 10 / 3
Регистрация: 09.10.2018
Сообщений: 49
17.10.2018, 14:21  [ТС] 8
Можете исправить мою программу?

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
a = input()
b = 0
MIN = 190
MAX = 150
 
while a != '!':
    a = int(a)    
    if a >= 150 and a <= 190:
        b += 1
        if a >= MAX:
            MAX = a
        elif a <= MIN:
            MIN = a
    a = input() 
print(b)
print(MIN, MAX)
0
0 / 0 / 0
Регистрация: 07.01.2014
Сообщений: 22
17.10.2018, 14:25 9
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
a = input()
b = 0
MIN = 190
MAX = 150
 
while a != '!':
    a = int(a)    
    if a >= 150 and a <= 190:
        b += 1
        if a >= MAX:
            MAX = a
        if a <= MIN:
            MIN = a
    a = input() 
print(b)
print(MIN, MAX)
0
24 / 19 / 6
Регистрация: 10.11.2016
Сообщений: 51
17.10.2018, 16:04 10
Тогда так:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
a = input("Введите рост: ")
b = 0
maxv = 0
minv = 0 
while a != '!':
    a = int(a)   
    if a >= 150 and a <= 190:
        b += 1
    maxv = max(maxv, a)
    minv = a if minv == 0 else min(minv, a)
    
    a = input("Введите рост: ") 
print(b)
print(minv, maxv)
Добавлено через 7 минут
Только не говори, что min max нельзя использовать)))
0
26 / 21 / 6
Регистрация: 23.08.2018
Сообщений: 68
17.10.2018, 23:55 11
Без слов min max )
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
low, high, cnt = 191, 0, 0
while True:
    i = input('Введите рост: ')
    if i == '!':
        break
    i = int(i)
    if i >= 150 and i <= 190:
        cnt += 1
        if i < low:
            low = i
        if i > high:
            high = i
print('{}\n{} {}'.format(cnt, low, high))
0
12 / 10 / 3
Регистрация: 09.10.2018
Сообщений: 49
18.10.2018, 16:50  [ТС] 12
Я уже решил эту задачу

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
a = input()
b = 0
MIN = 190
MAX = 150
 
while a != '!':
    a = int(a)
    if a >= 150 and a <= 190:
        b += 1
        if a >= MAX:
            MAX = a
        if a <= MIN:
            MIN = a
    a = input()
print(b)
print(MIN, MAX)
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.10.2018, 16:50
Помогаю со студенческими работами здесь

Не берут в директ
почему сайт по регистрации в каталогах могут не взять в директ???? видел кучу рекламы по...

Откуда берут то?
Привествую! Нет, у меня все хорошо, система не заражена, но вижу пошло много тем про вирус...

Берут ли в армию?
Берут ли в армию с двухсторонней сенсоневральной тугоухостью 1 степени?дают отсрочку или нет?

сети берут в Я-каталог
смотел &quot;как люди делают&quot;... и сразу натолкнулся на _www.vizitki.com - который живёт в &lt;b&gt;каталоге...

Где берут DirectDraw ???
Скачал несколько игрушек, написанных на VB, а они не все работают, просят DirectDraw for Visual...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru