我试图通过使用以下代码简单地获得一个随机的生日:
DOB = random.choice(["01", "02", "03", "04", "05", "06", "07", "08", "09",
"10", "11", "12"]) + "/" + random.choice(["01", "02", "03", "04", "05", "06",
"07", "08", "09", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19",
"20", "21", "22", "23", "24", "25", "26", "27", "28"]) + "/" +
random.choice(["1980", "1981", "1982", "1983", "1984", "1985", "1986",
"1987", "1988", "1989", "1990", "1991", "1992", "1993", "1994", "1996",
"1997", "1998", "1999", "2000"])
在某些情况下,它是打印,12/07/30512或其他我不需要的随机日期。为什么会发生这种情况,我做错了什么?
答案 0 :(得分:0)
在第四行中,你用一个加号结束这一行,仅此一行,这是无效的语法,打破行之间的表达式,它们必须在括号之间。
DOB = (random.choice(["01", "02", "03", "04", "05", "06", "07", "08", "09",
"10", "11", "12"]) + "/" + random.choice(["01", "02", "03", "04", "05", "06",
"07", "08", "09", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19",
"20", "21", "22", "23", "24", "25", "26", "27", "28"]) + "/" +
random.choice(["1980", "1981", "1982", "1983", "1984", "1985", "1986",
"1987", "1988", "1989", "1990", "1991", "1992", "1993", "1994", "1996",
"1997", "1998", "1999", "2000"]))
我在5000次迭代中执行了你的代码,我看不到错误。
import random
for i in range(0,5000):
DOB = (random.choice(["01", "02", "03", "04", "05", "06", "07", "08", "09",
"10", "11", "12"]) + "/" + random.choice(["01", "02", "03", "04", "05", "06",
"07", "08", "09", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19",
"20", "21", "22", "23", "24", "25", "26", "27", "28"]) + "/" +
random.choice(["1980", "1981", "1982", "1983", "1984", "1985", "1986",
"1987", "1988", "1989", "1990", "1991", "1992", "1993", "1994", "1996",
"1997", "1998", "1999", "2000"]))
print(DOB)