Python-分析练习题

有限数据循环 -> for,range

死循环->while Tire:
补充知识点:range
1.py27和py35中range得区别
py27:
range(),写用于生成连续数字,列表类型
xrange(),写用于连续的数字,for循环时才能使用,未知类型(生成器)

py35:

range() = py27 xrange()

应用:
# for num in range(1,101):
# if num == 77:
# continue
# print(num)
# 2. 步长(默认1)
# for num in range(1,101,1):
# print(num)
倒序:
# for num in range(100,0,-1):
# prin

分析练习题:(主要讲解的部分,还有一些没有讲完,待更新)

1、执行 Python 脚本的两种方式
(1).一个在终端运行,2.在PyCharm中运行
2、简述位,字节的关系
在ascii码中,8位表示一个字符
8位(bit) = 1字节(byte)
3、简述 ascii、unicode、utf-8、gbk 的关系
ascii:只支持255种,无法识别中文编码,8位表示一个字符。
unicode: 称为最全的编码,也称为“万国码”,可以支持全世界的编码。(弊端:占用的空间太大)
utf-8:他是一种支持世界万物的一种编码,对Uniocode进行优化编码:用最少的位数表示所有文字(一个汉字占三个字节)
gbk:是中国自己拿来常用的编码,(一个汉字占2个字节)
4、请写出 “李杰” 分别用 utf-8 和 gbk 编码所占的位数
在utf-8中:“李杰”占:48位
在gbk中:李杰“”占:32位
5、Pyhton 单行注释和多行注释分别用什么?
单行注释:前面加“#”
多行注释:有两种,1.头部和底部加“,,,” 2.全选中按 “Ctrl + ?”键
6、声明变量注意事项有那些?
(1.) 变量名只能是 字母、数字或下划线的任意组合
(2.) 变量名的第一个字符不能是数字
(3.) 不能使用Python中内部的关键字
(4.) 建议:见名之意
7、如有一下变量 n1 = 5,请使用 int 的提供的方法,得到该变量最少可以用多少个二进制位表示?

n1 = 5
val = n1.bit_legth()
print(val) # 结果是3个

 

8、布尔值分别有什么?
简称bool True: # 1
False: # 0
9、阅读代码,请写出执行结果
a = "alex"
b = a.capitalize()
print(a)
print(b)
输出的结果是: a:alex
b:Alex
12、请用代码实现:
li=[‘alex’,’eric’,’rain]
利用下划线将列表的每一个元素拼接成字符串.
#字符串 ,v = "xxxx" v.join(可迭代对象)
#for循环的就是迭代对象

如下:

 

li=[‘alex’,’eric’,’rain]
result
= "_".join(li) print(result)

17、制作随机验证码,不区分大小写。
流程:
- 用户执行程序
- 给用户显示需要输入的验证码
- 用户输入的值
用户输入的值和显示的值相同时显示正确信息;否则继续生成随机验证码继续等待用户输入
生成随机验证码代码示例:

def check_code():
    import random
    checkcode = ''
    for i in range(4):
        current = random.randrange(0,4)
        if current != i:
            temp = chr(random.randint(65,90))
        else:
            temp = random.randint(0,9)
        checkcode += str(temp)
    return checkcode
#生成随即验证码
while True:
    code = check_code()
    print(code)
    inp = input("请输入验证码:")
    if inp.strip().lower() == code.strip.lower():
        print("验证码输入成功")
        break
    else:
        print("验证码错误,请重新输入")

28、购物车
功能要求:
要求用户输入自己拥有总资产,例如: 2000
显示商品列表,让用户根据序号选择商品,加入购物车
购买,如果商品总额大于总资产,提示账户余额不足,否则,购买成功。

v = [
    {"name":    "电脑",    "price":    1999},
    {"name":    "鼠标",    "price":    10},
    {"name":    "游艇",    "price":    20},
    {"name":    "美女",    "price":    998},
]
#1.让用户输入自己账户余额
while True:
            money = input("请输入账户总金额:")
            money = money.strip()
            if money.isdecimal():
                money = int(money)
                break
            else:
                print("请正确输入数字")
#2.显示商品列表
num = 1
for item in v:
    print("num, item["name"], item["price"]")
    num += 1
#3.让用户购买商品
cost = 0
while True:
    index = input("请选择商品序号(q/Q结算:)")
    if index.lower().split() == "q":
        break
    #需要判断是否有空格,数字,以及输入的范围
    index = index.strip()
    if index.isdecimal():
        index = int(index)
        index = index - 1
        if index >= 0 and index < len(v):
            temp = "你购买商品%s, 价格:%d" % (v[index]["name"], v[index]["price"])
            print(temp)
            cost += v[index]["price"]
        else:
            print("输入序号不合法")
    else:
        price("请输入数字")
if money >= cost:
    print(""购买成功)
else:
    print("余额不足")

39、分页显示内容
a.通过 for 循环创建 301 条数据,数据类型不限,如:
alex-1 alex1@live.com pwd1
alex-2 alex1@live.com pwd2
alex-3 alex1@live.com pwd3
...
PS:可使用 while 循环自己创建
user_list = []
循环,创建字典 {‘user’:’xxx’,‘email’:’xxx’,’pwd’:’xxxx’},将创建的字典追加到列表中。
b. 提示用户请输入要查看的页码,当用户输入指定页码,则显示指定数据
注意:
- 每页显示 10 条数据
- 用户输入页码是非十进制数字,则提示输入内容格式错误

 

#1.创造301条数据
user_list = []
i = 1
while i <= 301:
    user_list.append({'username':  "alex-%d" %(i,),'email': "email-%d" %(i,),'password':"pwd-%d" %(i,)})
    i += 1
#2.用户输入页码,每页显示10条数据
while Tire:
    page = input("请选择页码(每页显示10条数据):")
    page = int(page)
    start = (page-1) * 10
    end = page * 10
    current_page_user = user_list[start:end]
    for item in current_page_user:
    print(item)

 

转载于:https://www.cnblogs.com/chengdajing/articles/7406435.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值