Нужна помощь с назначением летнего теннисного программного задания:python tennis табло
В этой проблеме вы предоставите интерфейс и дисплей для теннисного матча. Вот правила забивания теннисного матча.
• Есть два игрока. Назовем их Игроком 1 и Игроком 2.
• Игроки разворачивают мяч взад и вперед, и победитель каждого ралли получает очко.
• Игра представляет собой последовательность из нескольких точек. Каждый игрок начинает с 0 очков («Любовь все»), а игра выигрывается игроком, который добивается следующего:
- у игрока 4 очка; и
- у игрока есть еще 2 очка, чем у другого игрока.
• У англичан есть умная система нумерации для очков внутри игры.
Игрок с 0 очками имеет «Любовь». Если они имеют 1 очко, они называют это «15». 2 балла - «30»; 3 балла, «40». Если оба игрока связаны с 3 очками или более, они называют его «Двойка».
Если у обоих игроков 3 или более очков, но они не привязаны, то, как говорят, у игрока, у которого есть преимущество, есть «Преимущество».
• Набор представляет собой последовательность игр.
Победитель первого игрового игрока:
6 игр с участием не менее чем 2-х игр, чем у другого игрока; или
- 7 игр.
В случае, когда оба игрока связаны в 6 играх за штуку, правила изменяются для того, как забиваются 13-я и решающая игра. Эта игра называется тай-брейком, и ее выигрывает первый игрок, который накапливает 7 очков с 2 очками, чем другой игрок. В тай-брейке британская нумерация не используется; вместо этого счет начинается с 0-0, а точки подсчитываются в возрастающей числовой последовательности.
• Совпадение представляет собой последовательность множеств. В мужских турнирах победителем матча является первый игрок, который достиг 3-го набора. В женщинах победителем является первый игрок, который достиг 2 комплектов.
Заполните функцию points_str (p1, p2), которая, учитывая p1, количество точек для Player 1 и p2, количество очков для Игрока 2, возвращает строку, которая представляет британский эквивалент оценки Игрока 1 , Если у игрока 1 есть преимущество, верните «Adv», а если у игрока 2 есть преимущество, верните «-».
Примеры,
• points_str (0, 2) должен возвращать «Любовь».
• points_str (3, 1) должен возвращать «40».
• points_str (3, 3) должен возвращать «Двойка».
• points_str (5, 4) должен возвращать «Adv».
• points_str (4, 5) должен возвращать «-».
Напишите программу Python, которая имитирует теннисный матч. После того, как пользователь запросит имена каждого игрока и их пола, программа отобразит табло после каждой точки.
Чтобы определить, кто победит в следующей точке, ваша программа вызовет импортированную функцию umpire() , которая вернет целое число 1, если игрок 1 выиграет очко или 2, если победит игрок 2. Вы можете предположить, что umpire() никогда не возвращает ничего, кроме целого числа 1 или целого числа.
Программа должна заканчиваться, когда любой игрок выигрывает матч. Выведите окончательный табло и сообщение, в котором описывается, кто победит. Следуйте формату вывода, как показано в образцах.
Ниже приведен мой код для этой функции. Он только вычисляет победителя первого пункта и отображает его. Как я правильно зацикливаю его, чтобы он в конечном счете вычислил победителя игры, установил и сравнил?
Пожалуйста, помогите мне :) Спасибо!
def points_str(p1, p2):
p1setscore=0
p2setscore=0 # setting starting parameters for scorekeeping for games and
p1gamescore=0
p2gamescore=0
male_setmax=3
female_setmax=2 # setting parameters for maximum amount sets/games for male/female rules
gamemax=7
umpire()
if umpire()== 1:
p1gamescore=p1gamescore+1
else:
p2gamescore=p2gamescore+1
print p1gamescore, p2gamescore
Вы пробовали использовать этот код? Что происходит? – aaronasterling 2010-12-03 05:26:51
Я получил входную часть, где он запрашивает имя и пол игроков. Затем я включил некоторые другие варианты ввода. Этот код просто вычисляет победителя первого пункта и печатает его. Счет, если игрок 1 выигрывает, равен (1,0), который должен вернуть 15-любовь. Я не знаю, как его зацикливать, поэтому он вычисляет и возвращает победителя игры, устанавливает и, в конечном счете, соответствует. – 2010-12-03 05:28:44