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. android实现倒计时,最简单实现RecyclerView倒计时+SwipeRefreshLayout下拉刷新

    先上效果图: RecyclerView + SwipeRefreshLayout 实现倒计时效果 MainActivity.java package top.wintp.counttimedemo1; ...

  2. C4.5和ID3的差别

    C4.5和ID3的差别 决策树分为两大类:分类树和回归树,前者用于分类标签值,后者用于预测连续值,常用算法有ID3.C4.5.CART等. 信息熵 信息量:   信息熵: 信息增益 当计算出各个特征属 ...

  3. c实现哲学家进餐问题。WINDOWS下。

    // 解决哲学家就餐问题// 每个哲学家可用一个线程来模拟.// 设有5个哲学家,5只筷子,每个哲学家吃饭时间为一个随机值,哲学家吃饭后的思考时间也是一个随机值.#include <Window ...

  4. LiteDB源码解析系列(1)LiteDB介绍

    最近利用端午假期,我把LiteDB的源码仔细的阅读了一遍,酣畅淋漓,确实收获了不少.后面将编写一系列关于LteDB的文章分享给大家,希望这么好的源码不要被埋没. 1.LiteDB是什么 这是一个小型的 ...

  5. python迭代器-迭代器取值-for循环-生成器-yield-生成器表达式-常用内置方法-面向过程编程-05

    迭代器 迭代器 迭代: # 更新换代(其实也是重复)的过程,每一次的迭代都必须基于上一次的结果(上一次与这一次之间必须是有关系的) 迭代器: # 迭代取值的工具 为什么用迭代器: # 迭代器提供了一种 ...

  6. 私有网络(VPC)概述

    1 什么是私有网络(VPC) 私有网络是一块可用户自定义的网络空间,您可以在私有网络内部署云主机.负载均衡.数据库.Nosql快存储等云服务资源.您可自由划分网段.制定路由策略.私有网络可以配置公网网 ...

  7. HomeBrew 安装

    HomeBrew中文地址 通过以上链接把安装地址拿到, 这个地址可能会变, 再次使用需要重新获取: /usr/bin/ruby -e "$(curl -fsSL https://raw.gi ...

  8. 简述JavaScript模块化编程(二)

    前置阅读:简述JavaScript模块化(一) 在前面一文中,我们对前端模块化所经历的三个阶段进行了了解: CommonJs,由于是同步的,所以主要应用于服务器端,以Node.js为代表. AMD,异 ...

  9. Unity经典游戏教程之:是男人就下100层

    版权声明: 本文原创发布于博客园"优梦创客"的博客空间(网址:http://www.cnblogs.com/raymondking123/)以及微信公众号"优梦创客&qu ...

  10. luogu1330_封锁阳光大学 图的遍历

    传送门 解释:(转自洛谷题解) 首先,肯定要明确一点,那就是这个图是不一定联通的.于是,我们就可以将整张图切分成许多分开的连同子图来处理.然而最重要的事情是:如何处理一个连通图? 乍看下去,似乎无从下 ...