我剛剛開始學習python,我做了一些帶有if陳述句的代碼,我覺得代碼中的elif陳述句太多,所以我想知道是否有什么方法可以縮短代碼。
from random import *
月 = randrange(1, 13)
if month == 1:
print("January"/span>)
elif month == 2:
print("February")
elif month == 3:
print("March"/span>)
elif month == 4:
print("April"/span>)
elif month == 5:
print("May"/span>)
elif month == 6:
print("June"/span>)
elif month == 7:
print("July"/span>)
elif month == 8:
print("8月")
elif month == 9:
print("9月")
elif month == 10:
print("October")
elif month == 11:
print("十一月")
else:
print("十二月")
uj5u.com熱心網友回復:
你可以把月份放在一個串列中,通過一個隨機索引來訪問它:
from random import *
months = ['January', 'February', 'March', '四月'/span>, '五月'/span>, '六月'/span>。'七月', '八月', '九月'。'十月', '十一月', '十二月']
月 = randrange(12)
return months[month]。
uj5u.com熱心網友回復:
使用查找字典代替:
使用查找字典代替。
month_lu = { 1:"January"/span>, 2: "二月", 3:"三月" ) # etc
m = randrange(1, 3) # got 2.
print( month_lu[m] )
輸出:
February
或者使用一個隨機的迭代元組/月名串列來開始:
month = random. choice( ( "Jan","Feb","Mar", "Apr") ) # 等等。
你直接選擇月份,而不需要先畫一個數字。
如果你真的很懶,可以使用日歷模塊來提供名字:
如果你真的很懶,可以使用日歷模塊來提供名字。
import random
import日歷
months = list(calendar.month_name)
print(random.choice(months))
輸出:
October
uj5u.com熱心網友回復:
等待到Python 3.10,在這個版本中,將引入匹配案例的陳述句。
。這里有一個例子 :
def sign_as_string(x: int)->str。
""回傳x的符號為一個字串。
一個實作3.10語法的快速例子""。
匹配x。
case 0 :
return "null"
case y if y > 0:
return "pos"return "neg"
print(sign_as_sign( 1 ) ) # pos
print(sign_as_sign(-1 )) # neg
print(sign_as_sign( 0 )) # null。
uj5u.com熱心網友回復:
在這種情況下,你可以創建一個字典,鍵是數字,值是文本。在python中沒有內置的switch case,如果這是你正在尋找的東西的話
。轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/314505.html
標籤:
上一篇:C 中嵌套If的行為是什么?
