2014-08-31 3 views
1

Для этой проблемы предположим, что выполняется следующая операция присваивания.Доступ к словарю с использованием Get

weekdays = {'Sunday':0, 'Monday':1, 'Tuesday':2, 'Wednesday':3, 
      'Thursday':4, 'Friday':5, 'Saturday':6} 

Предположим, переменная day содержит значение, которое может быть или не может быть именем день. Напишите оператор присваивания, используя get, который присваивает day_num номер дня, если day содержит имя дня и -1 в противном случае.

Например, если день 'Wednesday' то day_num должен быть 3 и если day является 'Talk Like a Pirate Day' то day_num должен быть -1.

Вот мой код:

day_num = weekdays.get(day) 
if day_num==None: 
    day_num=-1 

Я просто не понимаю, почему она до сих пор не так; Я думаю, это правильно. Система домашних заданий продолжает показывать

Вы должны использовать только один оператор присваивания (и ничего больше)

ответ

1

Вы используете два оператора присваивания. Может быть, вы должны дать dict.get() на второй аргумент:

day_num = weekdays.get(day, -1) 

Это второй аргумент по умолчанию для возврата, если day нет в словаре; по умолчанию используется значение None, но здесь я возвращаю -1.

Это сэкономит вам тест на is None и второе задание.

+0

большое спасибо !!! О, мой бог – bboychua

Смежные вопросы