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. Excel催化剂开源第27波-Excel离线生成词云图

    在数据分析领域,词云图已经成为在文本分析中装逼的首选图表,大家热烈地讨论如何在Python上做数据分析.做词云图. 数据分析从来都是Excel的主战场,能够让普通用户使用上的技术才是最有价值的技术,一 ...

  2. [leetcode] 120. Triangle (Medium)

    原题 思路: dp,从下往上依次取得最小的,取到最上面的,就是一条最小的路径. class Solution { public: int minimumTotal(vector<vector&l ...

  3. 【Arduino】66种传感器模块系列实验(2)---光敏电阻模块

    实验二:光敏电阻传感器模块我手里这块是三针版的,挺秀气吧 光敏电阻是用硫化隔或硒化隔等半导体材料制成的特殊电阻器,其工作原理是基于内光电效应.光照愈强,阻值就愈低,随着光照强度的升高,电阻值迅速降低, ...

  4. TP框架基础(四)----添加数据

    [数据添加] add() 该方法返回被添加的新记录的主键id值 两种方式实现数据添加 1. 数组方式数据添加 $goods = D(“Goods”); $arr = array(‘goods_name ...

  5. 【RabbitMQ】一文带你搞定RabbitMQ延迟队列

    本文口味:鱼香肉丝   预计阅读:10分钟 一.说明 在上一篇中,介绍了RabbitMQ中的死信队列是什么,何时使用以及如何使用RabbitMQ的死信队列.相信通过上一篇的学习,对于死信队列已经有了更 ...

  6. java oop 单列 双列 集合, 迭代器 的使用和说明

    一.集合(Collection) (1)集合的由来? 我们学习的是Java -- 面向对象 -- 操作很多对象 -- 存储 -- 容器(数组和StringBuffer) -- 数组 而数组的长度固定, ...

  7. 【JDK】JDK源码分析-List, Iterator, ListIterator

    List 是最常用的容器之一.之前提到过,分析源码时,优先分析接口的源码,因此这里先从 List 接口分析.List 方法列表如下: 由于上文「JDK源码分析-Collection」已对 Collec ...

  8. 电信光猫带路由器(F452)的虚拟服务器端口映射

    现在电信宽带的光猫一般都自带路由器功能,为了方便运营商管理网络用户,电信公司插入了企业局域网,网络用户的光猫路由器都是这个局域网的节点.用户家里的电脑在网络中的结构位置一般如下所示: 互联网(公网)= ...

  9. ue4使用SceneCapture2D创建小地图示例 蓝图

    做C++项目的时候遇到了一个小地图的问题,从网上找了个蓝图的思路,转载一下. 原文:https://www.engineworld.cn/thread-3835-1-1.html 本文使用ue4提供的 ...

  10. selenium定时签到程序

    selenium定时签到程序 定时任务 # -*- coding: utf-8 -*- import time import os import sched import datetime from ...