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

Дартс

31.01.2019, 16:37. Показов 53276. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Стандартная мишень для игры в дартс разделена на 20 ячеек с номерами от 1 до 20. В центре расположено «яблочко», попадание в которое приносит игроку 50 очков. Вокруг него — зелёное кольцо, при попадании в которое засчитывается 25 очков. Попадание во внешнее (узкое) кольцо мишени удваивает число сектора, а во внутреннее — утраивает.

Эти правила показались игрокам слишком простыми, поэтому они решили присвоить секторам во внешнем и внутреннем кольцах случайные значения. В глобальной переменной scoring хранится словарь для подсчета очков (обратите внимание, что в случае внутреннего и внешнего колец значениями являются словари, ключами в которых являются номера сектора, а значениями –– количество очков):

Яблочко: 50

Зеленое кольцо: 25

Внешнее кольцо: 1: 8, 2: 6, 3: 42,…, 20: 50

Внутреннее кольцо: 1: 2, 2: 9, 3: 56,…, 20: 3

Напишите функцию score(), которая принимает на вход 1 (если это «Яблочко» или «Зеленое кольцо») или 2 аргумента (если это внутреннее или внешнее кольцо, то название кольца и номер сектора) и возвращает количество очков.

Пример 1
Ввод
print(score("Яблочко"))
Вывод
50
Пример 2
Ввод
print(score("Внешнее_кольцо", 1))
Вывод
18
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
31.01.2019, 16:37
Ответы с готовыми решениями:

Дартс
Стандартная мишень для игры в дартс разделена на 20 ячеек с номерами от 1 до 20. В центре расположено «яблочко», попадание в которое...

Дартс
Максим, Виталий и Ксения очень любят играть в дартс. Для проведения больших соревнований они решили разработать систему автоматического...

Дартс
Стандартная мишень для игры в дартс разделена на 20 ячеек с номерами от 1 до 20. В центре расположено «яблочко», попадание в которое...

7
10 / 9 / 3
Регистрация: 17.01.2019
Сообщений: 36
02.03.2019, 16:49
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
scoring = {1: [8, 2], 2: [6, 9], 3: [42, 56], 20: [50, 3]}
 
 
def score(*args, **kwargs):
    global scoring
    if len(args) == 1:
        if args[0] == 'Яблочко':
            return 50
        else:
            return 25
    else:
        if args[0] == 'Внешнее_кольцо':
            return scoring[args[1]][0]
        else:
            return scoring[args[1]][1]
1
-27 / 13 / 0
Регистрация: 29.12.2018
Сообщений: 214
18.03.2019, 16:11  [ТС]
спасибо, но
Ввод
print(score("Внутреннее_кольцо", 2))
Ожидаемый результат
16
Вывод
9
0
10 / 9 / 3
Регистрация: 17.01.2019
Сообщений: 36
18.03.2019, 20:41
Ну в словаре поменяй 9 на 16, в чем проблема
0
14 / 11 / 5
Регистрация: 01.02.2020
Сообщений: 21
02.02.2021, 11:00
Приветствую, а как решить данную задачу, не используя параметры *args и **kwargs?
0
10 / 9 / 3
Регистрация: 17.01.2019
Сообщений: 36
02.02.2021, 19:29
Вместо *args ставишь переменную(пусть будет s), отвечающую за строку, вместо **kwargs переменную(пусть будет n), приравненную к любому числу. И там расписываешь для каждого возможного s вывод
1
4 / 4 / 0
Регистрация: 06.02.2021
Сообщений: 2
06.02.2021, 13:47
Задача странная, идёт проверка со словарём который представлен лишь частично, как следствие что бы её сдать необходимо через запись ошибок и редактирования собственного словаря в конце концов восстановить глобальный словарь автора. Руки бы вырвать автору этой задачи, представляю частично восстановленный словарь, его достаточно для того что бы сдать задачу.

Добавлено через 1 минуту
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import random
 
a = int(random.uniform(1, 50))
b = int(random.uniform(1, 50))
scoring = {'Яблочко': 50, 'Зеленое_кольцо': 25,
           'Внешнее_кольцо': {1: 8, 2: 6, 3: 42, 4: a, 5: a, 6: a, 7: 38, 8: 1,
                              9: 41, 10: 14, 11: 38, 12: 38, 13: 3, 14: 36, 15: 48,
                              16: a, 17: 21, 18: a, 19: 11, 20: 50},
           'Внутреннее_кольцо': {1: 2, 2: 16, 3: 56, 4: b, 5: 16, 6: b, 7: 38,
                                 8: b, 9: b, 10: b, 11: b, 12: b, 13: b, 14: 21,
                                 15: b, 16: b, 17: b, 18: b, 19: b, 20: 39}}
 
 
def score(zona, cector=0):
    if cector == 0:
        return scoring[zona]
    else:
        return scoring[zona][cector]
Добавлено через 6 минут
Переменные а и б введены из условия (случайные числа), заодно и видно что собственно ещё не восстановлено

Добавлено через 7 минут
На форуме новичок, поэтому пока не знаю как вставить правильно с отступами, но код простой сдвиги догадаетесь как сделать
3
15 / 14 / 1
Регистрация: 16.11.2019
Сообщений: 33
01.02.2022, 10:51
Python
1
2
3
4
5
def score(ring, sector=0):
    global scoring
    if not sector:
        return scoring[ring]
    return scoring[ring][sector]
Вот и всё))

Добавлено через 52 секунды
Да нет, scoring объявлять вообще не нужно было. Тестирующая система в Лицее сама это делает
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
01.02.2022, 10:51
Помогаю со студенческими работами здесь

Дартс
В системе координат X, Y «нарисована» мишень на 10 кругов с центром в начале координат и шагом радиуса 10 единиц. Кругу с радиусом 10...

Дартс
Стандартная мишень для игры в дартс разделена на 20 ячеек с номерами от 1 до 20. В центре расположено «яблочко», попадание в которое...

Дартс на StringGrid
Нужно сделать дартс с помощью StringGrida. Матрицу я сделал, а прицел хочу сделать с помощью 2-х ScrollBar, то есть ScrollBar замкнуты...

Программа дартс
Добрый день, помогите пожалуйста с программой дартс. Необходимо, чтобы пользователь вводил координаты точки, а программа выдавала ему, куда...

OpenGl Дартс
OpenGL Часть 1 Есть проект дартс!В нем есть нарисован дротик и цель, в которую дротик летит. 2.Возможность попадание дротика в...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru