1. #!/usr/bin/env python
    # -*- coding:utf-8 -*-
  2.  
  3. # 1.列举你常见的内置函数。
    """
    强制转换:int() / str() / list() / dict() / tuple() / set() / bool()
    数学相关:sum() / max() / min() / divmod() / float() / abs()
    输入输出:input() / print()
    其他:len() / open() / type() / id() / range()
    """
  4.  
  5. # 2.列举你常见的内置模块?
    '''
    json / getpass / os / sys / random / hashlib / copy / shutil / time
    '''
  6.  
  7. # 3.json序列化时,如何保留中文?
    '''
    import json
    a = '你好'
    s = json.dumps(a,ensure_ascii=False)
    print(s)
    '''
  1. # 4.程序设计:用户管理系统
    # 功能:
    # 1.用户注册,提示用户输入用户名和密码,然后获取当前注册时间,最后将用户名、密码、注册时间写入到文件。
    # 2.用户登录,只有三次错误机会,一旦错误则冻结账户(下次启动也无法登录,提示:用户已经冻结)。
  2.  
  3. """
    from datetime import datetime
    import os
  4.  
  5. USER = {}
  6.  
  7. def user():
    '''
    注册用户
    :return:
    '''
    username = input('注册用户名:')
    with open('4用户注册.txt', 'r', encoding='utf-8') as f:
    for line in f:
    if line.split('_')[0].strip() == username:
    return '帐户已存在!'
    pwd = input('密码:')
    sj = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
    msg = '_'.join([username, pwd, sj, True])
    with open('4用户注册.txt', 'a', encoding='utf-8') as f:
    f.write(msg + '\n')
    return '注册成功!'
  8.  
  9. def login():
    '''
    登陆
    :return:
    '''
    while 1:
    username = input('用户名:')
    with open('4用户注册.txt', 'r', encoding='utf-8') as f2:
    status = False
    for line in f2:
    if line.split('_')[0] == username:
    if line.split('_')[-1].strip() == 'False':
    return '帐户已锁定!'
    status = True
    break
  10.  
  11. if not status:
    return '用户不存在!'
    pwd = input('密码:')
    with open('4用户注册.txt', 'r', encoding='utf-8') as f:
    for line in f:
    if line.split('_')[0] == username and line.split('_')[1] == pwd:
    USER[username] = 0
    return '登陆成功'
    if USER.get(username) == None:
    USER[username] = 0
    if USER[username] < 3:
    USER[username] += 1
    if not USER[username] < 3:
    with open('4用户注册.txt', 'r', encoding='utf-8') as f1,open('4用户注册(改).txt', 'w', encoding='utf-8') as f2:
    for line in f1:
    if line.split('_')[0] == username:
    new_line = line.replace('True', 'False')
    f2.write(new_line)
    else:
    f2.write(line)
    os.remove('4用户注册.txt')
    os.rename('4用户注册(改).txt', '4用户注册.txt')
    return '输入错误超过3次,锁定账号!'
    print('登录失败请重试!')
    print(user())
    print(login())
    """
  12.  
  13. # 5.有如下文件,请通过分页的形式将数据展示出来。【文件非常小】
    # 商品|价格
    # 飞机|1000
    # 大炮|2000
    # 迫击炮|1000
    # 手枪|123
    # ...
  14.  
  15. '''
    def func():
    f = open('5-6商品列表.txt', 'r', encoding='utf-8')
    a = f.read() # 全部读到内存
    lst = a.split('\n')
    max_page, mowei = divmod(len(lst), 3) # 最大页,最后一页条数(总条数,每页条数)
    if mowei > 0:
    max_page += 1
    while 1:
    user = input('要查看第几页(N/n退出):')
    if user.upper() == 'N':
    return
    if not user.isnumeric() or int(user) not in range(1, max_page+1):
    print('输入有误!请重新输入!')
    continue
    start = (int(user)-1)*3
    end = (int(user))*3
    data = lst[start+1:end+1]
    print(lst[0])
    for i in data:
    print(i.strip())
    if not (int(user)>max_page or int(user)<1):
    print('当前第%s页,共%s页.' % (user,max_page))
  16.  
  17. func()
    '''
  18.  
  19. # 6.有如下文件,请通过分页的形式将数据展示出来。【文件非常大】
  20.  
  21. # 商品|价格
    # 飞机|1000
    # 大炮|2000
    # 迫击炮|1000
    # 手枪|123
  22.  
  23. """
    def func():
    f = open('5-6商品列表.txt', 'r', encoding='utf-8')
    a = f.readlines() # 所有行组成一个列表
    print(a)
    max_page, mowei = divmod(len(a), 3) # 最大页,最后一页条数(总条数,每页条数)
    if mowei > 0:
    max_page += 1
    while 1:
    user = input('要查看第几页(N/n退出):')
    if user.upper() == 'N':
    return
    if not user.isnumeric() or int(user) not in range(1, max_page+1):
    print('输入有误!请重新输入!')
    continue
    start = (int(user)-1)*3
    end = (int(user))*3
    data = a[start+1:end+1]
    print(a[0].strip())
    for i in data:
    print(i.strip())
    if not (int(user)>max_page or int(user)<1):
    print('当前第%s页,共%s页.' % (user,max_page))
  24.  
  25. func()
    """
  26.  
  27. # 7.程序设计:购物车
    # 有如下商品列表 GOODS_LIST,用户可以选择进行购买商品并加入到购物车 SHOPPING_CAR 中且可以选择要购买数量,购买完成之后将购买的所
    # 有商品写入到文件中【文件格式为:年_月_日.txt】。
    # 注意:重复购买同一件商品时,只更改购物车中的数量。
    """
    SHOPPING_CAR = {} # 购物车
  28.  
  29. GOODS_LIST = [
    {'id': 1, 'title': '飞机', 'price': 1000},
    {'id': 3, 'title': '大炮', 'price': 1000},
    {'id': 8, 'title': '迫击炮', 'price': 1000},
    {'id': 9, 'title': '手枪', 'price': 1000},
    ] # 商品列表
    from datetime import datetime
  30.  
  31. def shopping():
    while 1:
    for i in GOODS_LIST:
    print('序号:' + str(i['id']) + ' 商品:' + i['title'] + ' 价格:' + str(i['price']))
    user = input('请输入序号加入到购物车(N/n退出):')
    if user.upper() == 'N':
    return '退出'
    pand = False
    for j in GOODS_LIST:
    if int(user) == j['id']:
    pand = True
    if SHOPPING_CAR.get(j['title']) == None:
    SHOPPING_CAR[j['title']] = 0
    break
    if not pand:
    print('输入错误!')
    continue
    while 1:
    count = input('请选择数量:')
    if not count.isdigit():
    print('请输入阿拉伯数字!')
    continue
    SHOPPING_CAR[j['title']] += int(count)
    date = datetime.now().strftime('%Y_%m_%d')
    with open("%s.txt" % date, 'w', encoding='utf-8') as f:
    f.write(str(SHOPPING_CAR))
    break
  32.  
  33. print('已添加进购物车!')
    print(SHOPPING_CAR)
  34.  
  35. a = shopping()
    print(a)
    """

day16,模块 , 用户管理系统 , 购物车程序 , 分页显示.的更多相关文章

  1. 微信小程序分页显示

    <view class="tabNav"> <view wx:for="{{navTab}}" wx:key="index" ...

  2. JDBC MySQL 实例之 用户管理系统

    1 Java 和 MySQL 怎么建立连接 2 通过Java怎么对数据库进行操作 package day01; import java.sql.Connection; import java.sql. ...

  3. Django项目:CRM(客户关系管理系统)--19--11PerfectCRM实现King_admin分页显示条数

    登陆密码设置参考 http://www.cnblogs.com/ujq3/p/8553784.html list_per_page = 2 #分页条数 list_per_page = 2 #分页条数 ...

  4. 【京东账户】——Mysql/PHP/Ajax爬坑之购物车列表分页

    一.引言 做京东账户项目中的购物车模块,功能之四就是购物车列表的分页显示.要用到的是Apach环境,Mysql.PHP以及Ajax. 二.查询数据 mysql: SELECT * FROM jd_pr ...

  5. 从头开始编写一个Orchard网上商店模块(6) - 创建购物车服务和控制器

    原文地址: http://skywalkersoftwaredevelopment.net/blog/writing-an-orchard-webshop-module-from-scratch-pa ...

  6. 利用JSP编程技术实现一个简单的购物车程序

    实验二   JSP编程 一.实验目的1. 掌握JSP指令的使用方法:2. 掌握JSP动作的使用方法:3. 掌握JSP内置对象的使用方法:4. 掌握JavaBean的编程技术及使用方法:5. 掌握JSP ...

  7. python用户管理系统

    学Python这么久了,第一次写一个这么多的代码(我承认只有300多行,重复的代码挺多的,我承认我确实垃圾),但是也挺不容易的 自定义函数+装饰器,每一个模块写的一个函数 很多地方能用装饰器(逻辑跟不 ...

  8. python小练习之三---购物车程序

    购物车购物的例子 严格来讲,这个例子相对大一些 功能也稍完备一些,具有用户登录,商品上架,用户购物,放入购物车,展示每个用户的购物车里的商品的数量,用户账户余额,支持用户账户充值等 下面展示的代码有些 ...

  9. python复习购物车程序

    个人学习总结: 无他,唯手熟尔!多敲多练才是王道 python 第三课 元组的灵活运用&字符串的诸多操作 Program01 '''时间 2018年2月12日12:15:28目的 购物车程序 ...

随机推荐

  1. C# 直接引用js文件,调js里的数据

    C# 直接引用js文件,调js里的数据 引入命名空间 using System.IO; string path = AppDomain.CurrentDomain.BaseDirectory + &q ...

  2. PostgreSQL For Windows 全功能精简版

    预览 精简部分 保留全部 PostgreSQL 相关功能 删除自带的 pgadmin 4 删除文档 删除开发用头文件 删除开发用静态连接库 删除 Stack Build 工具 写了一个管理数据库用的批 ...

  3. kali的网络服务

    1.启动Apache: service apache2 start 关闭: service apache2 stop 将Apache2服务添加到自动启动的程序组里: update-rc.d apach ...

  4. Scrapy框架-Spider

    目录 1. Spider 2.Scrapy源代码 2.1. Scrapy主要属性和方法 3.parse()方法的工作机制 1. Spider Spider类定义了如何爬取某个(或某些)网站.包括了爬取 ...

  5. DNS域名解析过程,域名的认识

    DNS域名解析过程 参考知乎:https://www.zhihu.com/question/23042131 当你通过浏览器输入url访问资源时,会请求DNS解析域名成对应的IP地址,由IP地址在去与 ...

  6. 父页面内获取获取iframe内的变量或者是获取iframe内的值

    前提:页面不可跨域访问,必须同一域名下,否则返回值为空 父页面 <!DOCTYPE html> <html lang="en"> <head> ...

  7. django drf json格式化日期时间带T的问题 基于python的解决方法

    # models.py update_time = models.DateTimeField(verbose_name=u'更新时间', default=timezone.now) 问题:天 与 小时 ...

  8. BigDecimal比较大小,BigDecimal判断是否为0

    原文:https://blog.csdn.net/qq_34926773/article/details/83419004 BigDecimal类型的数据,需要比较大小:声明BigDescimal: ...

  9. vue项目接口域名动态获取

    需求: 接口域名是从外部 .json 文件里获取的. 思路: 在开始加载项目前 进行接口域名获取,然后重置 接口域名的配置项. 实现: 1.config/index.js 文件 进行基础配置 impo ...

  10. 工具(2): 极简MarkDown排版介绍(How to)

    如何切换编辑器 切换博客园编辑器为MarkDown:MarkDown Editor 选择一个在线编辑和预览站点:StackEdit 如何排版章节 MarkDown: 大标题 ========== 小标 ...