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

Робот плохо запрограммирован

11.05.2025, 12:58. Показов 1601. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Робот записывал оценки учеников, но иногда глючил и писал странные (даже не всегда целые) числа. Учитель решил, что оставит только те записи, которые могут быть оценками: целые числа от 2 до 5. Если это число действительное, то он перепишет его в правильном виде (например, 3.0 — это правильная оценка, но учитель запишет 3).
Дана последовательность чисел, а в конце строка "стоп". Выведи массив из оценок, которые оставил учитель.
Можно считать, что если дробная часть (после точки) равна нулю, то этот ноль только один. То есть число 4 не может быть записано как 4.00.

Ввод Вывод
2
3.5
5.0
7
29
357
42
4
333
3.0
стоп [2, 5, 4, 3]
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.05.2025, 12:58
Ответы с готовыми решениями:

В институте биоинформатики по офису передвигается робот
Пытаюсь выучить Python. Читаю статьи и решаю задачи на одном из сайтов. Попалась такая задача: ...

[py3] Робот для автоматической торговли акциями
Напишите робота для автоматической торговли акциями на бирже. Вводится цена акций в первый,...

Биржевый робот
Напишите робота для автоматической торговли акциями на бирже. Вводится цена акций в первый,...

7
Фрилансер
Эксперт PythonЭксперт JSЭксперт PHP
 Аватар для Azdeman
1871 / 1362 / 604
Регистрация: 12.01.2011
Сообщений: 5,470
11.05.2025, 16:08
Python
1
2
3
import re
str = '2 3.5 5.0 7 29 357 42 4 333 3.0 стоп'
print(list(map(lambda x: int(float(x)),filter(lambda x: re.search('^[2-5](\.0)?$',x),str.split()[:-1]))))
0
 Аватар для ViachaslauK
122 / 179 / 16
Регистрация: 08.10.2024
Сообщений: 629
12.05.2025, 12:52
Azdeman, Не дороговато ли для таких задач использовать регулярку?
Если я ничего не упустил:
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
def grade_filter():
    """
    Filters the grades based on a given threshold.
 
    Parameters:
    grade (Any): grade (integers or floats or 'stop').
    threshold (list): The threshold value.
 
    Returns:
    list: A list of grades that are above the threshold.
    """
    threshold = [2, 3, 4, 5]
    grade_list = []
    while True:
        try:
            grade = float(input("Enter a grade (or type 'stop' to finish): "))
            if grade in threshold:
                grade_list.append(int(grade))
        except ValueError:
            break
    return grade_list
 
 
if __name__ == "__main__":
    grades = grade_filter()
    print("Filtered grades:", grades)
Вывод:
Bash
1
2
3
4
5
6
7
8
9
10
11
12
Enter a grade (or type 'stop' to finish): 3
Enter a grade (or type 'stop' to finish): 4
Enter a grade (or type 'stop' to finish): 55
Enter a grade (or type 'stop' to finish): 34.0
Enter a grade (or type 'stop' to finish): 5.0
Enter a grade (or type 'stop' to finish): 19
Enter a grade (or type 'stop' to finish): 77
Enter a grade (or type 'stop' to finish): 7
Enter a grade (or type 'stop' to finish): 2.0
Enter a grade (or type 'stop' to finish): 2
Enter a grade (or type 'stop' to finish): stop
Filtered grades: [3, 4, 5, 2, 2]
0
 Аватар для s_t_r_a_j
526 / 179 / 58
Регистрация: 12.02.2023
Сообщений: 641
12.05.2025, 16:19
Python
1
2
estimation = [2, 3.5, 5.0, 7, 29, 357, 42, 4, 333, 3.0, 'стоп']
print([int(_) for _ in estimation if _!='стоп' and 1<_<6 and _%1==0])
0
 Аватар для ViachaslauK
122 / 179 / 16
Регистрация: 08.10.2024
Сообщений: 629
12.05.2025, 16:31
"_" как имя переменной используется как "заглушка", то есть переменная далее не используется в коде. Если есть работа с ней - не стоит ее испльзовать.
Это правила хорошего тона для кода
0
 Аватар для Semen-Semenich
5220 / 3468 / 1172
Регистрация: 21.03.2016
Сообщений: 8,291
12.05.2025, 17:10
Python
1
print(list(map(int, filter(lambda x : 1 <= x <=5 and x%1== 0, map(float, iter(input, 'стоп'))))))
1
 Аватар для s_t_r_a_j
526 / 179 / 58
Регистрация: 12.02.2023
Сообщений: 641
12.05.2025, 17:32
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
result = [
    # For each filtered list of even numbers:
    # 1. Create a list of squares using the walrus operator to store it in 'squared'
    # 2. Unpack the squares list with * operator
    # 3. Add the sum of the original numbers at the end
    [*(squared := [int(i) ** 2 for i in nums]), sum(int(i) for i in nums)]
    
    # This part generates 3 lists by:
    # 1. Prompting user for input 3 times (range(3))
    # 2. Splitting each input by commas
    # 3. Filtering to keep only even numbers
    for nums in [[i for i in input(f"Enter list {_}: ").split(",") if int(i) % 2 == 0] for _ in range(3)]
    
    # Only process non-empty lists
    if nums
]
меня терзают смутные сомнения, а не ваше ли это творчество ViachaslauK
0
 Аватар для ViachaslauK
122 / 179 / 16
Регистрация: 08.10.2024
Сообщений: 629
12.05.2025, 17:37
Цитата Сообщение от s_t_r_a_j Посмотреть сообщение
меня терзают смутные сомнения, а не ваше ли это творчество
Да и вы правильно заметили все. Только обратите внимание - изначально в коде не было использования _, потом я добавил строку в инпут и стал выводить номер вводимого списка. Так делать не стоит, просто лень было переписывать, раз уж я стал выводить эту переменную - нужно было ее правильно именовать. В примере без комментов такого нет.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
12.05.2025, 17:37
Помогаю со студенческими работами здесь

Как отметить галочку "я не робот"?
Всех приветствую. Мне очень нужно парсить веб страницу http://mrt.com.mk, чтобы потом получить...

Определить, где будет находиться робот, который движется по спирали, через N шагов
Робот расположен в точке (0,0). Робот движется по спирали в следующем порядке: (0,0). (0,1),...

Робот движется по спирали; определить, где он будет находиться через N шагов
Робот расположен в точке (0,0). Робот движется по спирали в следующем порядке: (0,0), (0,1),...

Робот, выбирающий пользователю коктейль
У Вас есть список коктейлей, где каждый коктейль представлен в виде списка ингридиентов. Программа...

Робот может перемещаться в четырех направлениях
Добрый день. Есть задача: Робот может перемещаться в четырех направлениях («11» — север, «12» —...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru