Python生成验证码、计算具体日期是一年中的第几天实例代码详解

yipeiwu_com5年前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设计】网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

相关文章

详解python tkinter模块安装过程

引言: 在Python3下运行Matplotlib之时,碰到了”No module named _tkinter“的问题,花费数小时进行研究解决,这里讲整个过程记录下来,并尝试分析过程中...

使用APScheduler3.0.1 实现定时任务的方法

需求是在某一指定的时刻执行操作 网上的建议多为通过调用Scheduler的add_date_job实现 不过APScheduler 3.0.1与之前差异较大, 无法通过上述方法实现 参考...

python采集百度搜索结果带有特定URL的链接代码实例

这篇文章主要介绍了python采集百度搜索结果带有特定URL的链接代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 #cod...

python利用微信公众号实现报警功能

微信公众号共有三种,服务号、订阅号、企业号。它们在获取AccessToken上各有不同。 其中订阅号比较坑,它的AccessToken是需定时刷新,重复获取将导致上次获取的AccessT...

python 计算数组中每个数字出现多少次--“Bucket”桶的思想

python 计算数组中每个数字出现多少次--“Bucket”桶的思想

题目: 解法一:比较元素是否相等 思路说明: 这种应该是普通人最先想到的解法,先获取到数组之后进行有小到大排序,然后初始化一个min=0(代表新数字的开始角标),然后遍历新数组的每一个...