Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Помогите кто может

Andrey Kochetov Ученик (193), закрыт 1 год назад
не работает с входными данными 9 Вася, ркругляет до 4, надо 5
m = int(input())
n = input()
if n == 'Соня':
m += 1
elif n == 'Вася':
m //= 2
else:
m *= 3
print(m)
Дополнен 1 год назад
avt-sch111
Задача 3
Эмилия с друзьями играют в игру. У неё n монет. Сейчас её ход. Результат зависит от того, кого Эмилия «встретит» на игровом поле.
Если Соню, та даст ей монету.
Если Васю, то Вася «украдет» у Эмилии половину монет. Если эта половина — не целое число, то Вася округляет его вниз. Например, если у Эмилии три монеты, Вася украдёт одну.
Если Макса, то он купит у нее доспехи и заплатит вдвое больше монет, чем есть у Эмилии.
Дано начальное количество монет n и имя того, кого встретила Эмилия. Выведите, сколько монет у неё после встречи.
Лучший ответ
Хлебушек Оракул (74929) 1 год назад
может ты просто напишешь задание?
Andrey KochetovУченик (193) 1 год назад
avt-sch111
Задача 3
Эмилия с друзьями играют в игру. У неё n монет. Сейчас её ход. Результат зависит от того, кого Эмилия «встретит» на игровом поле.
Если Соню, та даст ей монету.
Если Васю, то Вася «украдет» у Эмилии половину монет. Если эта половина — не целое число, то Вася округляет его вниз. Например, если у Эмилии три монеты, Вася украдёт одну.
Если Макса, то он купит у нее доспехи и заплатит вдвое больше монет, чем есть у Эмилии.
Дано начальное количество монет n и имя того, кого встретила Эмилия. Выведите, сколько монет у неё после встречи.
Хлебушек Оракул (74929) Andrey Kochetov,
 m, n = int(input()), input() 
names = {'Соня' : m + 1, 'Вася' : m // 2 + m % 2, 'Макс' : m * 3} 
print(names[n]) 
Остальные ответы
Wpjlzirv Gotlprj Ученик (145) 1 год назад
вы используете оператор деления пола ( //), чтобы разделить количество монет на 2 с округлением до ближайшего целого числа.

Чтобы решить эту проблему, вы можете использовать math.ceil()Функция округления до ближайшего целого числа. Вот исправленный код:

import math
m = int(input())
n = input()
if n == 'Соня':
m += 1
elif n == 'Вася':
m = math.ceil(m / 2)
else:
m *= 3
print(m)

Теперь, если у Эмилии 9 монет и она встретит Васю, код будет корректно возвращать 5.
Вы можете протестировать программу, вызвав ее с некоторым начальным количеством монет и именем человека, которого встретила Эмилия:

питон

print(game(9, "Вася")) # prints 5

Также вам необходимо импортировать математическую библиотеку перед ее использованием.
Похожие вопросы