S7day4 练习题

12.请用代码实现: li = [‘alex’,’eric’,’rain] 利用下划线将列表的每一个元素拼接成字符串"alex_eric_rain"

方法一:简单

li=[‘alex’,’eric’,’rain']
v="_".join(li)
print(v)
li = ['alex','eric','rain','ygik0','ihgvbb']
# 字符串,v = "xxx"      v.join(可迭代对象)
# for循环的,就是可迭代对象
# result = "".join(li)
# print(result)

方法二:

li = ['alex','eric','rain','ygik0','ihgvbb']
msg = " "
is_first = True
for item in li:
    if is_first:                     #如果is_first=False 将不执行以下步骤,到达elase
        tmp = item
        is_first =False
    else:
        tmp = "_" + item # _alex
    msg += tmp
print(msg)

13实现一个整数加法计算器: 如: content = input('请输入内容:') # 如用户输入: 5+9 或 5+ 9 或 5 + 9 ,然后进行分割再进行计算

cot=0
content= input("请输入内容: ")
v=content.split("+")
for i in v :
    i=i.strip()
    cot+=int(i)
print(cot)

18.开发敏感词语过滤程序,提示用户输入内容,如果用户输入的内容中包含特殊的字符: 如敏感词列表 li = ["苍老师","东京热"],

则将用户输入内容中出现任意敏感字符串替换为 ***

li = ['苍老师','东京热']
msg = input('Please input a word :')# 
for item in li :                    #将苍老师、东京热循环 
    if item in msg :              #输入的内容msg中是否有关键词li
        msg = msg.replace(item,'***')
print(msg)    

28.28、购物车 功能要求: 要求用户输入自己拥有总资产,例如:2000 显示商品列表,让用户根据序号选择商品,加入购物车 购买,如果商品总额大于总资产,

提示账户余额不足,否则,购买成功。 goods = [ {"name": "电脑", "price": 1999}, {"name": "鼠标", "price": 10}, {"name": "游艇", "price": 20}, {"name": "美女", "price": 998}, ]

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().strip() == "q":
        break
    # 空格,是否数字,范围
    if index.isdecimal():
        index = int(index)
        index = index - 1
        if index >= 0 and index < len(v):
            print('您购买商品%s,价格:%d' %(v[index]['name'],v[index]['price']))
            cost += v[index]['price']
        else:
            print('输入序号不合法')
    else:
        print('请输入数字')
if money >= cost:
    print('购买成功')
else:
    print('余额不足')

31.分页显示内容 a. 通过 for 循环创建 301 条数据,数据类型不限,如: alex-1 alex1@live.com pwd1 alex-2 alex2@live.com pwd2 alex-3 alex3@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
    print(user_list)
2. 用户输入页码,每页显示10条数据
while True:
    page = input('请选择页码(每页显示10条数据):')
    page = int(page)
    # page=1, 0,10
    # page=2, 10,20
    # page=3, 20,30
    start = (page-1) * 10
    end = page * 10
    current_page_user = user_list[start:end]
    for item in current_page_user:
        print(item)

拓展:(求页码)

content = input('请输入内容:')                  #请输入内容
if len(content)%3 == 0:                        #  
    count = int(len(content)/3)                #
else:                                          #
    count = int(len(content) / 3) + 1          #
print(count)                                   #

 

posted @ 2017-08-24 21:15  panda_R  阅读(228)  评论(0)    收藏  举报