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

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. 【妙味课堂】JS热身课后习题

    <!--*** @Author: wyy* @Date: 2018-04-15 17:36:35* @Email: 2752154874@qq.com* @Last Modified by: w ...

  2. HYSBZ1036-树链剖分-点权

    树链剖分,点权,单点更改,路径查询.学树链剖分下面这个博文不错 http://blog.csdn.net/y990041769/article/details/40348013 线段树必须写的很熟练才 ...

  3. 查询SQLSERVER中系统所有表

    SQL 查询所有表名: SELECT NAME FROM SYSOBJECTS WHERE TYPE='U' SELECT * FROM INFORMATION_SCHEMA.TABLES 查询表的所 ...

  4. Girls and Boys HDU - 1068 二分图匹配(匈牙利)+最大独立集证明

    最大独立集证明参考:https://blog.csdn.net/qq_34564984/article/details/52778763 最大独立集证明: 上图,我们用两个红色的点覆盖了所有边.我们证 ...

  5. Quartus prime16.0 与modelsim ae 联调

    前言 quartus和modelsim联调对仿真还是很方便的,当然最好是quartus干综合到烧录的活,modelsim单独仿真.而且ae版的性能比se版差. 流程: 1.配置modelsim ae路 ...

  6. jQuery File Upload 图片上传解决方案兼容IE6+

    1.下载:https://github.com/blueimp/jQuery-File-Upload 2.命令: npm install bower install ================= ...

  7. 动态逆序对[CDQ分治]

    题面 luogu cdq分治入门 注意删的是值不是位置! #include <cstdio> #include <algorithm> #include <cmath&g ...

  8. Hdoj 2050.折线分割平面 题解

    Problem Description 我们看到过很多直线分割平面的题目,今天的这个题目稍微有些变化,我们要求的是n条折线分割平面的最大数目.比如,一条折线可以将平面分成两部分,两条折线最多可以将平面 ...

  9. android startActivityForResult 使用实例

    ActivityForResult.java public class ActivityForResult extends Activity { Button bn; EditText city; @ ...

  10. electron打包之真的恶心

    用electron-packager进行打包 这个模块的文档写的真的垃圾 1.先看看首页的参数介绍 就是说必选参数就是源码路径和app名字和--platform还有--arch咯,而且源码路径也没说是 ...