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. TensorFlow笔记-初识

    深度学习: 转换编程的思维(和传统的机器学习的编程方式不太一样) 测试链接 TensorFlow的安装 CPU版本: 只支持程序在CPU上计算/运算,默认运行就是CPU上运行 卸载: pip unin ...

  2. Catalan公式

    f(n)=f(1)*f(n-1)+f(2)*f(n-2)+f(3)*f(n-3)+......+f(n-1)*f(1) 例用:一个长度为n的无重复序列入栈的所有出栈方式

  3. IDEA及IDEA汉化包

    IDEA 官网:http://www.jetbrains.com/idea/download/#section=windows IDEA社区版(百度云):http://pan.baidu.com/s/ ...

  4. Aspnet Mvc 前后端分离项目手记(四)vue项目的搭建(一)(iview)

    一项目创建 1,搭建vue-cli脚手架(依赖npm) 没有安装npm的同学,请先使用npm install -g vue-cli ,然后再进行这一步 安装的过程中有几项 ? Project name ...

  5. @GetMapping、@PostMapping和@RequestMapping的区别

    @GetMapping 用于将Http Get 请求映射到特定处理程序方法的注释.具体来说就是:@GetMapping是一个作为快捷方式的组合注释 @RequestMapping(method = R ...

  6. .Net微信网页开发之使用微信JS-SDK调用微信扫一扫功能

    前言: 之前有个项目需要调用微信扫描二维码的功能,通过调用微信扫码二维码功能,然后去获取到系统中生成的二维码信息.正好微信JS-SDK提供了调用微信扫一扫的功能接口,下面让我们来看看是如何实现的吧. ...

  7. UPC Contest RankList – 2019年第二阶段我要变强个人训练赛第十四场

    A.JOIOJI •传送门 [1]:BZOJ [2]:洛谷 •思路 在一个区间(L,R]内,JOI的个数是相等的,也就是R[J]-L[J]=R[O]-L[O]=R[I]-L[I], 利用前缀和的思想, ...

  8. Angular JS 中的内置方法之表单验证

    angular js 结合html5 可以实现强大的表单验证功能 关闭html5自带的表单验证功能可以用

  9. react开发中的小细节

    目前开始使用react余遇到的问题还不是很多,但还是希望总结一下. react中的属性prop: 在react中组件的父子组件的通信是基于prop的,当然对于底层的东西不是特别了解,但可以说一说它的基 ...

  10. 【POJ - 3616】Milking Time(动态规划)

    Milking Time 直接翻译了 Descriptions 贝茜是一个勤劳的牛.事实上,她如此​​专注于最大化她的生产力,于是她决定安排下一个N(1≤N≤1,000,000)小时(方便地标记为0. ...