Помогите создать функцию для подсчёта процентов от введенного числа
colors = {1 : {'Желтый': 3.1, 'Красный': 96.9},
2 : {'Желтый': 12.5, 'Черный': 87.5},
3 : {'Синий': 50.0, 'Черный': 50.0}}
n = int(input("Какой номер цвета? :"))
print()
print('Номер цвета:', n, 'C,U')
new_color = {}
for key in colors[n]:
print(key + ':', colors[n][key], '%')
print()
for s in colors.values():
new_color.update(colors[n])
x = float(input("Количество грамм краски?:"))
def procent(**new_color):
for key in new_color:
print(key, "->", new_color[key])
procent(**new_color)
Какой номер цвета? :3
Номер цвета: 3 C,U
Синий: 50.0 %
Черный: 50.0 %
Количество грамм краски?:345
Синий -> 50.0
Черный -> 50.0
Вместо Синий -> 50.0 и Черный -> 50.0 должно быть Синий -> 172.5 и Черный -> 172.5
Ответы (2 шт):
Автор решения: Tehnorobot
→ Ссылка
Вот верный вариант:
colors = {1 : {'Желтый': 3.1, 'Красный': 96.9},
2 : {'Желтый': 12.5, 'Черный': 87.5},
3 : {'Синий': 50.0, 'Черный': 50.0}}
n = int(input("Какой номер цвета? :"))
print()
print('Номер цвета:', n, 'C,U')
new_color = {}
for key in colors[n]:
print(key + ':', colors[n][key], '%')
print()
for s in colors.values():
new_color.update(colors[n])
x = float(input("Количество грамм краски?:"))
def procent(**new_color):
for key in new_color:
print(key, "->", round(x * (new_color[key] / 100), 2)) # находим процент от числа
procent(**new_color)
Автор решения: SergFSM
→ Ссылка
кажется в исходном коде есть лишние строки. так вроде должно сработать:
colors = {1 : {'Желтый': 3.1, 'Красный': 96.9},
2 : {'Желтый': 12.5, 'Черный': 87.5},
3 : {'Синий': 50.0, 'Черный': 50.0}}
n = int(input("Какой номер цвета? :"))
print()
print('Номер цвета:', n, 'C,U')
x = float(input("Количество грамм краски?:"))
print('\n'.join(f'{k} -> {round(v*x/100,2)}' for k,v in colors[n].items()))
#
Синий -> 172.5
Черный -> 172.5