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

Необходимо поделить всех нанятых матросов на 2 команды согласно заданным правилам...

04.04.2019, 22:20. Показов 1922. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вам необходимо поделить всех нанятых матросов на 2 команды, согласно следующим правилам: те, чей возраст меньше 20 лет или больше 40 - отправляются на первый корабль, все остальные - на второй. Это позволит молодым матросам перенять опыт более старших коллег. В качестве исходных данных вы получите словарь, где ключами будут выступать фамилии матросов, а значениями - их возраст. После того, как все матросы будут поделены между кораблями, вам необходимо отсортировать их внутри каждого из списков в алфавитном порядке.

Входные данные: Словарь с возрастами матросов.
Выходные данные: Список с двумя корабельными командами.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.04.2019, 22:20
Ответы с готовыми решениями:

Из числа X получить четырехзначное число Y согласно заданным правилам...
Дано четырехзначное целое число X. Определить четырехзначное число Y : ∙ первая цифра Y равна остатку от деления на 10 произведения всех...

Поделить каждый элемент строки матрицы поделить на сумму всех элементов строки
Задано двовимірний масив дійсних чисел. Необхідно кожен елемент відповідного рядка поділити на суму елементів цього рядка. Вимірність...

Требуется сделать сокращения согласно установленным правилам
Товарищи! Как создать столбик с сокращениями имен по заданному словарю? Словарь будет находиться на другом листе. Исходные имена на втором,...

3
1 / 1 / 1
Регистрация: 05.05.2018
Сообщений: 3
05.04.2019, 15:32
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
inp_dict = {}
list_ship1 = []
list_ship2 = []
 
value = int(input("Введите количество матросов: "))
while len(inp_dict) + 1 <= value:
    username = input("Введите фамилию :")
    age = int(input("Введите возраст: "))
    inp_dict[username] = age
 
for i in inp_dict:
    if (inp_dict[i] > 20) and (inp_dict[i] < 40):
        list_ship2 += [inp_dict[i]]
    else:
        list_ship1 += [inp_dict[i]]
print("Первый корабль до 20 и от 40:", list_ship1)
print("Второй корабль от 20 до 40: ", list_ship2)
Добавлено через 41 минуту
Сортировку забыл.
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
inp_dict = {}
list_ship1 = []
list_ship2 = []
 
value = int(input("Введите количество матросов: "))
while len(inp_dict) + 1 <= value:
    username = input("Введите фамилию :")
    age = int(input("Введите возраст: "))
    inp_dict[username] = age
 
for i in inp_dict:
    if (inp_dict[i] > 20) and (inp_dict[i] < 40):
        list_ship2 += [i]
    else:
        list_ship1 += [i]
print("Первый корабль до 20 и от 40:", sorted(list_ship1))
print("Второй корабль от 20 до 40: ", sorted(list_ship2))
1
0 / 0 / 0
Регистрация: 23.12.2018
Сообщений: 21
05.04.2019, 17:54  [ТС]
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
def two_teams(sailors):
  arr1 =[]
  arr2 =[]
  for i in sailors:
    if sailors[i]<20 and sailors[i]>40:
      arr1+=[i]
    else:
      arr2+=[i]
  return arr1
  return arr2
    
    
 
if __name__ == '__main__':
  assert two_teams({
      'Smith': 34, 
      'Wesson': 22, 
      'Coleman': 45, 
      'Abrahams': 19}) == [
          ['Abrahams', 'Coleman'], 
          ['Smith', 'Wesson']
          ]
 
  assert two_teams({
      'Fernandes': 18,
      'Johnson': 22,
      'Kale': 41,
      'McCortney': 54}) == [
          ['Fernandes', 'Kale', 'McCortney'], 
          ['Johnson']
          ]
  print("Well done!")
У меня на вход уже данные есть, вот так написал, но почему-то не работает, помогите пожалуйста

Добавлено через 20 минут
И когда отсортировал, тоже не работает
0
1 / 1 / 1
Регистрация: 05.05.2018
Сообщений: 3
05.04.2019, 18:29
Цитата Сообщение от sashaupo Посмотреть сообщение
def two_teams(sailors):
* arr1 =[]
* arr2 =[]
* for i in sailors:
* * if sailors[i]<20 and sailors[i]>40:
* * * arr1+=[i]
* * else:
* * * arr2+=[i]
* return arr1
* return arr2
if __name__ == '__main__':
* assert two_teams({
* * * 'Smith': 34,
* * * 'Wesson': 22,
* * * 'Coleman': 45,
* * * 'Abrahams': 19}) == [
* * * * * ['Abrahams', 'Coleman'],
* * * * * ['Smith', 'Wesson']
* * * * * ]
assert two_teams({
* * * 'Fernandes': 18,
* * * 'Johnson': 22,
* * * 'Kale': 41,
* * * 'McCortney': 54}) == [
* * * * * ['Fernandes', 'Kale', 'McCortney'],
* * * * * ['Johnson']
* * * * * ]
* print("Well done!")
А что если нужно будет добавить еще 1 запись, сами будете переписывать? Функция не может возвращать два значения, только кортежем. Без всяких (main, assert) можно обойтись... нужно. Берите первое решение, при необходимости цикл while можно заменить на словарь с уже прописанными данными.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
05.04.2019, 18:29
Помогаю со студенческими работами здесь

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

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

Написать программу, которая расшифровывает строки символов, зашифрованные согласно правилам из упражнения 6
Написать программу, которая расшифровывает строки символов, зашифрованные согласно правилам из упражнения 6 Упражнение 6: Даны...

Вычислите значение выражения, предполагая, что действия выполняются согласно правилам арифметики
Дана последовательность символов, имеющая следующий вид: p1q1p2q2p3…qn-1pn, где pi — цифра, а qi — знак арифметического действия из набора...

Объединение строк по заданным правилам
Нужно написать программу для создания строки по следующим правилам: 1. На вход подаются 2 строки 2. Все совпадающие гласные, стоящие на...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru