#python-2.7 #iterable
#python-2.7 #итерируемый
Вопрос:
def calculate_tax(income_input):
income_inpu = {}
for item in income_input:
tax = '0'
income = income_input[item]
if income in range(0, 1001):
tax = (0*income)
if income in range(1001, 10001):
tax = (0.1 * (income-1000))
if income in range(10001, 20201):
tax = ((0.1*(10000-1000)) (0.15*(income-10000)))
if income in range(20201, 30751):
tax = ((0.1*(10000-1000)) (0.15*(20200-10000)) (0.2*(income-20200)))
if income in range(30751, 50001):
tax = ((0.1*(10000-1000)) (0.15*(20200-10000)) (0.2*(30750-20200)) (0.25*(income-30750)))
if (income > 50000):
tax = ((0.1*(10000-1000)) (0.15*(20200-10000)) (0.2*(30750-20200)) (0.25*(50000-30750)) (0.3*(income-50000)))
income_inpu[item] = tax
return income_inpu
Комментарии:
1. Я предполагаю, что
income_inpu = {}
это опечатка, и так и должно бытьincome_input = {}
. Если да, то почему вы переназначаете его в пустой словарь, если вы получаете его в качестве аргумента функции? Если нет, то вам следует создать меньший и более чистый пример с лучшими именами переменных.2. Я пытаюсь написать функцию, которая будет принимать в качестве аргумента словарь, содержащий пары ключ-значение имен людей в качестве ключей и их годовой доход в качестве значений. Функция предназначена для возврата словаря, содержащего пары ключ-значение с именами тех же людей, что и ключи, и их годовой налоговый счет в качестве значений. правильно ли я это сделал? на самом деле я новичок в программировании. Спасибо
3. Этот код выполняется нормально и не создает никаких исключений, когда. Какое значение вы передаете как
income_input
?4. Soln проверяется в соответствии с приведенными ниже кодами:
5. из unittest import TestCase class CalculateTaxTests(TestCase): def test_it_calculates_tax_for_one_person(self): result = calculate_tax({«Джеймс»: 20500}) self.assertEqual(результат, {«Джеймс»: 2490.0}, msg=»Должен вернуть {‘Джеймс’: 2490.0} для ввода {‘Джеймс’: 20500}»)