我有一項任務是給一周中的每一天一個數值。例如,如果一天是一天,程式將回傳星期一。除了星期天又名第 7 天,我現在擁有的一切都有效。我嘗試重新排列代碼,但沒有任何效果。
def dayOfWeek(day):
if day not in range(1, 7):
return "Unknown"
elif day == 1:
return "Monday"
elif day == 2:
return "Tuesday"
elif day == 3:
return "Wednesday"
elif day == 4:
return "Thursday"
elif day == 5:
return "Friday"
elif day == 6:
return "Saturday"
elif day == 7:
return "Sunday"
assert (dayOfWeek(0) == "Unknown")
assert (dayOfWeek(7) == "Sunday")
assert (dayOfWeek(1) == "Monday")
assert (dayOfWeek(3) == "Wednesday"
)
uj5u.com熱心網友回復:
這僅作為未來的替代方案提供。功能上沒有區別。
您還可以設定值的字典
def dayOfWeek(day):
days = {
1: 'Monday',
2: 'Tuesday',
3: 'Wednesday',
4: 'Thursday',
5: 'Friday',
6: 'Saturday',
7: 'Sunday'
}
return days[day] if day in days else 'Unknown'
uj5u.com熱心網友回復:
def dayOfWeek(day):
if day not in range(1, 8):
return "Unknown"
elif day == 1:
return "Monday"
elif day == 2:
return "Tuesday"
elif day == 3:
return "Wednesday"
elif day == 4:
return "Thursday"
elif day == 5:
return "Friday"
elif day == 6:
return "Saturday"
elif day == 7:
return "Sunday"
assert (dayOfWeek(0) == "Unknown")
assert (dayOfWeek(7) == "Sunday")
assert (dayOfWeek(1) == "Monday")
assert (dayOfWeek(3) == "Wednesday")
使用 1 到 8 的范圍,因為 python 會截斷最后一個數字。
uj5u.com熱心網友回復:
在 range 函式中,python 留下最后一個數字,即如果它是 range(a,b) 則范圍從 a 到 b-1。因此,正如 Vedant Mehta 所說,您的正確范圍將是 (1,8)。如果您對范圍感到困惑,請使用else陳述句。您的代碼:
def dayOfWeek(day):
if day == 1:
return "Monday"
elif day == 2:
return "Tuesday"
elif day == 3:
return "Wednesday"
elif day == 4:
return "Thursday"
elif day == 5:
return "Friday"
elif day == 6:
return "Saturday"
elif day == 7:
return "Sunday"
else:
return "Unknown"
assert (dayOfWeek(0) == "Unknown")
assert (dayOfWeek(7) == "Sunday")
assert (dayOfWeek(1) == "Monday")
assert (dayOfWeek(3) == "Wednesday")
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/346106.html
標籤:Python
