#############################作业#############################

1. 三次登录验证

完成用户登录验证
要求:
1. 系统自动生成4位随机数. 作为登录验证码. 直接用就好. 这里不用
纠结
from random import randint
num = 0
verify_code = ""
while num < 4:
verify_code += chr(randint(65, 90))
num += 1
print(verify_code) # 四位随机验证码
2. 用户输入用户名和密码还有验证码.
3. 用户可以有三次登录的机会. 但是验证码如果输入错误. 不计算在
内
from random import randint
count = 1
while count <= 3:
num = 0
verify_code = ""
while num < 4:
verify_code += chr(randint(65, 90))
num += 1
# print(verify_code) # 用户登录
username = "alex"
password = "" # 用户输入
uname = input("请输入你的用户名:" )
upwd = input("请输入你的密码:")
vi_code = input(f"请输入你的验证码{verify_code}:") # 判断验证码
if vi_code.upper() == verify_code.upper():
print("验证码正确")
# 判断用户名和密码
if uname == username and upwd == password:
print("登录成功")
break
else:
print("登录失败(还剩下%s次机会)" % (3-count))
count += 1 # ???? 000 000 - 999 999
else:
print("验证码错误")

2.# 商品信息:
goods = [
{"name": "电脑", "price": 1999},
{"name": "鼠标", "price": 10},
{"name": "游艇", "price": 20},
{"name": "美女", "price": 998},
]
# 用户信息:
user = {"username":"alex", "password": "123456"}

# 功能要求:
# 1、启动程序后,输入用户名密码后,让用户输入工资,然后打印商品列表
# 2、用户根据商品编号购买商品
# 3、用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒
# 4、退出时,打印已购买商品和余额

# 准备一个购物车
# 购物车:[{id:编号, name:名称, price:商品价格, totle:数量}]
# [{id:0, name:"电脑", price:1999, totle:7},
# {id:3, name:"美女", price:998, totle:2}]

goods = [
{"name": "电脑", "price": 1999},
{"name": "鼠标", "price": 10},
{"name": "游艇", "price": 20},
{"name": "美女", "price": 998},
]
# 用户信息:
user = {"username":"alex", "password": ""}
shoppingcart = []
while 1:
uname = input("请输入你的用户名:")
upwd = input("请输入你的密码:")
if uname == user['username'] and upwd == user['password']:
print("登录成功!")
money = int(input("请输入你兜里钱:")) while 1:
for i in range(len(goods)):
print(i+1, goods[i]['name'], goods[i]['price'])
# 1 键盘 100 0
# 2 鼠标 200 1
# 3 美女 1000 2
#
num = int(input("请输入你要购买的商品编号:")) # 我没判断是否是数字
# 还原回索引
index = num - 1
# 获取到购买的商品
good = goods[index]
# 判断是否可以购买该商品
if money >= good['price']:
# 判断是否已经购买过该商品, 如果购买过. 数量+1 没买过 加到购物车里
for el in shoppingcart: # el:你已经够买过的商品
if el['id'] == index: # 买过
el['totle'] += 1 # 数量+1
break # 继续显示商品列表
else: # 没买过
shoppingcart.append({"id": index, "name": good['name'], "price": good['price'], "totle": 1})
money -= good['price'] # 扣钱
print("购买成功!!, 您的余额是%s" % money)
else:
print("对不起. 您的余额已不足!, 您的余额还剩%s" % money) # 可以充值也可以不充值 # 是否继续购物
isContinue = input("请问是否继续购买商品(Y/N)")
if isContinue.upper() == "N":
# 不买了
# 打印购买的商品和余额
for g in shoppingcart:
print(g['name'], g['price'], g['totle'])
print("你还剩下%s" % money)
# 程序退出
exit() # 程序退出
else:
print("登录失败!")

3 质数, 只能被1和自身整除的数, 我们就从2开始除. 除到n-1结束

num = int(input('请输入一个数字:'))
if num <= 1:
print('这不是质数')
elif num == 2:
print('这是一个质数!')
else:
i=2
while i < num:
if num%i == 0:
print('这不是一个质数')
break
i += 1
else:
print ('这是一个质数!')
n=int(input('请输入一个数字:'))
for i in range(2,n):
if n %i ==0:
print('不是质数')
break #有了break就不会执行后面的else
else:
print('是一个质数')

4.输入数字个数,判断这个数字是几位数(用算法实现)

num=int(input('请输入一个数:'))
i=0
while num >=1:
num=num/10
i+=1
print(f'这个数是{i}位数')

python第一次周末大作业的更多相关文章

  1. python第三次周末大作业

    ''' s18第三周周末⼤作业 模拟博客园系统: 1. 启动程序, 显⽰菜单列表 菜单: 1. 登录 2. 注册 3. ⽂章 4. ⽇记 5. 退出 2. ⽤户输入选项, ⽂章和⽇记必须在登录后才可以 ...

  2. python第四次周末大作业

    ''' 选课系统开发 系统登录需要有两类用户:学生.管理员,针对不用用户提供不同功能: 学生用户 :对于学生用户来说,登陆之后有三个功能 1.查看所有课程 2.选择课程 3.查看所选课程 4.删除已选 ...

  3. python第二次周末大作业

    题目 ''' HR人力资源管理. 1. 菜单: ("查看员⼯信息","添加员⼯信息", "修改员⼯信息", "删除员⼯信息&quo ...

  4. 数据库大作业--由python+flask

    这个是项目一来是数据库大作业,另一方面也算是再对falsk和python熟悉下,好久不用会忘很快. 界面相比上一个项目好看很多,不过因为时间紧加上只有我一个人写,所以有很多地方逻辑写的比较繁琐,如果是 ...

  5. 爬虫综合大作业——网易云音乐爬虫 & 数据可视化分析

    作业要求来自于https://edu.cnblogs.com/campus/gzcc/GZCC-16SE2/homework/3075 爬虫综合大作业 选择一个热点或者你感兴趣的主题. 选择爬取的对象 ...

  6. Hadoop综合大作业

    Hadoop综合大作业 要求: 用Hive对爬虫大作业产生的文本文件(或者英文词频统计下载的英文长篇小说)词频统计. 用Hive对爬虫大作业产生的csv文件进行数据分析 1. 用Hive对爬虫大作业产 ...

  7. OO第一次博客作业

    OO第一次博客作业 一.三次作业的bug反省 1.自己发现别人的问题 (1)输入处理的问题,比如第一次作业,主要就是处理输入的字符串,然后有同学的正则表达式有问题,则对于一些错误输入就不能正确判断. ...

  8. CSAPP HITICS 大作业 hello's P2P by zsz

    摘 要 摘要是论文内容的高度概括,应具有独立性和自含性,即不阅读论文的全文,就能获得必要的信息.摘要应包括本论文的目的.主要内容.方法.成果及其理论与实际意义.摘要中不宜使用公式.结构式.图表和非公知 ...

  9. oo 第一次博客作业

    oo 第一次博客作业 早在大一就听说了oo的各种传奇故事,大二下学期终于也开始了我的oo之旅. 基于度量来分析自己的程序结构 第一次作业 类图分析 耦合度分析 可以看出在第一次作业中,我的耦合度非常高 ...

随机推荐

  1. Django+Xadmin打造在线教育系统(六)

    讲师相关功能实现 拷贝并修改teacher-list.html和teacher-detail.html, 继承base模板 # 讲师列表 path('teacher_list/', TeacherLi ...

  2. 睡眠麻痹 CSP HSP

    睡眠麻痹 CSP HSP 来源 https://www.zhihu.com/question/29666875/answer/65480583 俗名“鬼压床”.“鬼压身”或者“梦魇”的,学名叫睡眠麻痹 ...

  3. JXOI 2017 简要题解

    「JXOI2017」数列 题意 九条可怜手上有一个长度为 \(n\) 的整数数列 \(r_i\) ,她现在想要构造一个长度为 \(n\) 的,满足如下条件的整数数列 \(A\) : \(1\leq A ...

  4. Hdoj 1176.免费馅饼 题解

    Problem Description 都说天上不会掉馅饼,但有一天gameboy正走在回家的小径上,忽然天上掉下大把大把的馅饼.说来gameboy的人品实在是太好了,这馅饼别处都不掉,就掉落在他身旁 ...

  5. Java 类设计技巧

    摘自<Java核心技术>卷I:基础知识 p140 第4章对象与类 - 类设计技巧 1)一定将数据设计为私有. 最重要的是:绝对不要破坏封装性.有时候,需要编写一个访问器方法或更改器方法,但 ...

  6. 【BZOJ5294】[BJOI2018]二进制(线段树)

    [BZOJ5294][BJOI2018]二进制(线段树) 题面 BZOJ 洛谷 题解 二进制串在模\(3\)意义下,每一位代表的余数显然是\(121212\)这样子交替出现的. 其实换种方法看,就是\ ...

  7. [luogu5003]跳舞的线【动态规划】

    题目描述 线现在在一个地图上,它正在(1,1)上(左上角),最终要去到(M,N)上.它不但只能往下或往右走,还只能在整数格子上移动. Imakf有的时候想要炫技,又有时想偷懒,所以他会告诉你这张地图的 ...

  8. List双向链表容器

    list 容器实现了双向链表的数据结构,数据元素是通过链表指针串连成逻辑意义上的线 性表,这样,对链表的任一位置的元素进行插入.删除和查找都是极快速的. 图 2-7 是 list 采用的双向循环链表的 ...

  9. js原生事件系统与坐标系统

    今天来实现一个可兼容的js原生拖拽,在这里面我将会讲到: 1.封装兼容性的事件系统. 2.封装得到鼠标当前位置的系统. 3.完成拖拽的实现. 首先,我们要讲到鼠标位置的获取,讲到这个,就离不开js的w ...

  10. Neovim中提示Error: Required vim compiled with +python

    Neovim在编辑python文件时出现错误提示,如下图 原因 出现该错误的原因说明未安装Python2/3的支持 解决方法 使用包管理器安装Neovim的Python支持python-neovim ...