Python生成验证码、计算具体日期是一年中的第几天实例代码详解
1、约瑟夫环问题
《幸运的基督徒》
有15个基督徒和15个非基督徒在海上遇险,为了能让一部分人活下来不得不将其中15个人扔到海里面去,有个人想了个办法就是大家围成一个圈,由某个人开始从1报数,报到9的人就扔到海里面,他后面的人接着从1开始报数,报到9的人继续扔到海里面,直到扔掉15个人。由于上帝的保佑,15个基督徒都幸免于难,问这些人最开始是怎么站的,哪些位置是基督徒哪些位置是非基督徒。
def main(): ''' 先用列表中每个数字代表每个人,然后通过循环替换列表中的数字 用@代表基督徒,用__代表非基督徒 ''' 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、生成指定位数字母和数字混合验证码
import random def generate_code(code_len=4): ''' 生成指定位数的验证码 用code_len指定位数 ''' 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): ''' 对应输入年份,月份,还有具体的日 可以计算出这一日是这一年的第多少天 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生成验证码、计算具体日期是一年中的第几天实例代码详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对【听图阁-专注于Python设计】网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!