1
def get_weekday(d1, d2):
    ''' (int, int) -> int
    The first parameter indicates the current day of the week, and is in the 
    range 1-7. The second parameter indicates a number of days from the current 
    day, and that could be any integer, including a negative integer. Return 
    which day of the week it will be that many days from the current day.
    >>> get_weekday(0,14)
    7
    >>> get_weekday(0,15)
    1
    '''
    weekday = (d1+d2) % 7
    if weekday == 0:
        weekday = 7
    return weekday

if ステートメントを使用せずにこれを解決するにはどうすればよいですか?

ちなみに、日曜日は1、月曜日は2、.... 土曜日は7

4

3 に答える 3

4

どうですか

weekday = (d1-1+d2) % 7 + 1
于 2013-01-20T22:49:39.727 に答える
3

これを試して:

weekday = ((d1+d2-1) % 7) + 1
于 2013-01-20T22:49:19.670 に答える
0

条件を使用しorます:

weekday = (d1+d2) % 7 or 7
return weekday

conditionのステートメントはor、値が見つからなくなるまで左から右に評価されTrueます。見つからない場合は、最後の値が返されます。

ここで、最初の部分が 0 の場合は 7 を返します。

In [158]: 14%7 or 7       # 14%7 is 0, i.e a Falsy value so return 7
Out[158]: 7

In [159]: 15%7 or 7       #15%7 is  1, i.e a Truthy value so exit here and return 15%7
Out[159]: 1

#some more examples
In [161]: 0 or 0 or 1 or 2
Out[161]: 1

In [162]: 7 or 0
Out[162]: 7

In [163]: False or True
Out[163]: True
于 2013-01-20T22:48:44.513 に答える