溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

Python如何生成驗(yàn)證碼、計(jì)算具體日期是一年中的第幾天

發(fā)布時(shí)間:2021-06-24 10:54:00 來(lái)源:億速云 閱讀:101 作者:小新 欄目:開(kāi)發(fā)技術(shù)

這篇文章主要介紹Python如何生成驗(yàn)證碼、計(jì)算具體日期是一年中的第幾天,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

1、約瑟夫環(huán)問(wèn)題

《幸運(yùn)的基督徒》

有15個(gè)基督徒和15個(gè)非基督徒在海上遇險(xiǎn),為了能讓一部分人活下來(lái)不得不將其中15個(gè)人扔到海里面去,有個(gè)人想了個(gè)辦法就是大家圍成一個(gè)圈,由某個(gè)人開(kāi)始從1報(bào)數(shù),報(bào)到9的人就扔到海里面,他后面的人接著從1開(kāi)始報(bào)數(shù),報(bào)到9的人繼續(xù)扔到海里面,直到扔掉15個(gè)人。由于上帝的保佑,15個(gè)基督徒都幸免于難,問(wèn)這些人最開(kāi)始是怎么站的,哪些位置是基督徒哪些位置是非基督徒。

def main():
 '''
 先用列表中每個(gè)數(shù)字代表每個(gè)人,然后通過(guò)循環(huán)替換列表中的數(shù)字
 用@代表基督徒,用__代表非基督徒
 '''
 people = [x for x in range(0,30)]
 people_ = [y for y in range(0,30)]
 i = 0
 j = 9
 while i<15 : 
  del people_[j]
  j += 9
  i += 1
  if j > len(people_):
   j = j - len(people_)
 for i in people_:
  for x in people:
   if i == x:
    people[people.index(x)] = '@'
 for j in range(30):
  if people[j] != '@':
   people[people.index(j)] = '__'
 print(people)
main()

2、生成指定位數(shù)字母和數(shù)字混合驗(yàn)證碼

import random
def generate_code(code_len=4):
 '''
 生成指定位數(shù)的驗(yàn)證碼
 用code_len指定位數(shù)
 '''
 code = ''
 string = '1234567890qwertyuiopasdfghjklzxcvbnm'
 for _ in range(code_len):
  code += string[random.randint(0,26)]
 print(code)
 return code
 
generate_code()

3、輸入具體日期

def which_day(year,month,date):
 '''
 對(duì)應(yīng)輸入年份,月份,還有具體的日
 可以計(jì)算出這一日是這一年的第多少天
 year代表年,month代表月份,date代表具體日子
 '''
 day = 0
 for i in range(1,month + 1):
  if i < 9:
   if i % 2 == 0:
    day += 31
   else:
    day += 30
  else:
   if i % 2 == 0:
    day += 30
   else:
    day += 31
 if year % 4 == 0 and year % 100 != 0 or year % 400 == 0:
  day -= 1
 else:
  day -= 2
 print('您所求的這一天是那一年的第'+str(day)+'天')
which_day(1950,11,28)

以上是“Python如何生成驗(yàn)證碼、計(jì)算具體日期是一年中的第幾天”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI