day02

1.for i in range() --->用于设置for循环的迭代设置。
ranage 也是一个前闭后开的。

2.random.randrange() --->随机产生给予范围之内的随机数字
random.randrange(1000,9999)

day03

1.python的缺点 精度丢失

1.例题

#密码包含大小写和数字
username = input('请输入用户名:')
password = input('请输入密码:')
A ='qwertyuiopasdfghjklzxcvbnm'
B ='QWERTYUIOPASDFGHJKLZXCVBNM'
C ='1234567890'
count1,count2,count3 = False,False,False
for i in password:
  if i in A :
  count1 = True
  if i in B :
  count2 = True
  if i in C :
  count3 = True
if count1 and count2 and count3 :
  print('注册成功')
else :
  print('密码必须含有大写,小写和数字')

2.例2

#输入两个数字进行加减乘除
num1,num2 = map(float,input('请输入Num1和Num2:').split(','))
choose_method = input('Choose Method:[+,-,*,/]')
  if choose_method in '+-*/':
    if choose_method == '+':
      print('%.2f + %.2f = %.2f'%(num1,num2,num1+num2))
    elif choose_method == '-':
      print('%.2f - %.2f = %.2f'%(num1,num2,num1-num2))
    elif choose_method == '*':
      print('%.2f * %.2f = %.2f'%(num1,num2,num1*num2))
  elif choose_method == '/':
print('%.2f / %.2f = %.2f'%(num1,num2,num1/num2))
 
  else:
    #抛出错误
    raise KeyError('Only choose [+,-,*,/]')
 

3.例3

#三次输入错误密码锁死
passs = 123456
  for i in range(3):
    password = int(input('请输入密码:'))
    if password == passs :
      print('登录成功')
      break
    else:
      print('请重试')
  else:
    print('您已三次输入密码错误,锁死')

4.例4

#随机生成四位数字验证码
import random
yanzhengma = random.randrange(1000,9999)
print(yanzhengma)
 
5.例5
#简易购物车
def Check_Goods(g):
  G = ['汽车','火车','飞机']
  if g in G:
    Address()
  else:
    return False
def Check_Information(name,phone,addr):
  is_Ok = True
  if name == "" or name == "":
    is_Ok = False
  if len(phone) != 11 :
    is_Ok = False
  if addr not in ['北京','山东']:
    is_Ok = False
  return is_Ok
def Address():
  name = input('请输入姓名:')
  phone = input('请输入电话:')
  addr = input('请输入地址:')
  res = Check_Information(name,phone,addr)
  if res:
    Note()
  return False
def Note():
  print('马上发货')
def Start():
  print('欢迎光临')
  g = input('商品:')
  Check_Goods(g)
Start()

6.例6

#注册用户

def Users():
  users_ = input('请输入用户名:')
  Z = '123456789'
  N = 'QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm'
  T = '~!@#$%^&*()'
  is_Z = False
  is_N = False
  is_T = True
  for i in users_:
  #先检测字母
    if i in Z :
      is_Z = True
#检测数字
    if i in N :
      is_N = True
    if i in T:
      is_T = False
   if is_Z and is_N and is_T:
    password()
   else:
    print('密码必须由数字和字母组成,且不能有特殊字符')
def password():
  passwd = input('请输入密码:')
  if len(passwd) >= 6:
    phone()
  else:
    print('密码必须大于6位,请重试')
def phone():
  import re
  compile = re.compile('str')
  compile.search
  compile.findall
 
  pho = input('请输入手机号:')
  if len(pho) == 11:
    verify()
  else:
    print('手机号输入错误,请重试')
  global_count = 0
def verify():
#声明变量是全局的
  global global_count
  import random
  import time
  yanzhengma = random.randrange(1000,9999)
  global_count +=1
  start_time = time.time()
  print('向您手机发送的验证码为: %d'%yanzhengma)
  veri = int(input('请输入验证码:'))
 
  end_time = time.time()
  sub_time = end_time - start_time
 
  if sub_time > 2:
  if global_count>2:
    print('请稍后重试。')
    exit()
  print('验证码超时,即将重新发送')
  time.sleep(2)
  verify()
  else:
    if yanzhengma == veri:
      print('注册成功')
    else:
      print('验证码错误,请重试')
      time.sleep(2)
      verify()
def Start():
  print('请注册:')
  Users()
 
Start()

day0203的更多相关文章

  1. day0203 XML 学习笔记

    day02, 03 1. xml语言和作用 2. xml语法详解 2.1 xml 语法声明 2.1.1 encoding 属性 2.1.2 standalone 属性 2.2 xml 元素(Eleme ...

  2. day0203 (whil else)

    count = 0while count <= 5 : count += 1 if count == 3:break print("Loop",count) else: pr ...

随机推荐

  1. ForkJoinPool分支/合并框架工程使用的工作窃取

    ForkJoinPool分支/合并框架 在必要的情况下,讲一个大任务,进行拆分(fork)成若干个小任务(拆到不可拆为止),再将一个个小的任务运算的结果进行join汇总. 工作窃取的背景 分支/合并框 ...

  2. Shiro授权流程

    1,授权中涉及的一些概念      [1]授权:访问控制,即在应用中认证用户能否访问的系统资源(如一个页面,一个按钮等).      [2]资源:在Web应用中反应为用户可以访问的URL.       ...

  3. [leetcode] 110. Balanced Binary Tree (easy)

    原题链接 水题 深度搜索每一节点的左右深度,左右深度差大于1就返回false. class Solution { public: bool isBalanced(TreeNode *root) { b ...

  4. python的发展史

    python的发展史 1989年,被称为龟叔的Guido在为ABC语言写插件时,产生了写一个简洁又实用的编程语言的想法,并开始着手编写.因为其喜欢Monty Python喜剧团,所以将其命名为pyth ...

  5. .net持续集成sonarqube篇之 sonarqube集成单元测试

    系列目录 通过前面章节我们可以看到,不论怎么构建,单元测试覆盖率一栏总是0% 这是因为单元测试覆盖率报告需要额外集成.这一节我们就讲解如何在sonarqube里集成单元测试覆盖率报告. 这里需要借助O ...

  6. Android的简述3

    Activity的生命周期 Activity类中有许多onXXX形式的函数可以重载,比如onCreate,onStart,onStop,onPause,那么它们的调用顺序到底是如何的呢?下面就通过一个 ...

  7. springBoot数据校验与统一异常处理

    概念 异常,在程序中经常发生,如果发生异常怎样给用户一个良好的反馈体验就是我们需要处理的问题.以前处理异常信息,经常都是给前端一个统一的响应,如数据错误,程序崩溃等等.没办法指出哪里出错了,这是一种对 ...

  8. Mac OS 安装mysqlclient 遇到的坑~

    最近在学习Python, 因为Django连接mysql 需要安装mysqlclient, 但Mac安装遇到各种问题,这里记录一下,避免以后再踩坑. 1.   正常情况下,安装mysqlclient ...

  9. Centos7 搭建owncloud云存储

    Centos7 搭建owncloud云存储 首先准备必要的软件和资料. 这里我已经整理好了: 百度云共享 不过最好还是自己去官网上下.这里只不过是提供了快捷方式. owncloud官网:https:/ ...

  10. JDK容器类List,Set,Queue源码解读

    List,Set,Queue都是继承Collection接口的单列集合接口.List常用的实现主要有ArrayList,LinkedList,List中的数据是有序可重复的.Set常用的实现主要是Ha ...