day4作业

练习题

一、元素分类

有如下值集合 [11,22,33,44,55,66,77,88,99,90...],将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中。
即: {‘k1‘: 大于66的所有值, ‘k2‘: 小于66的所有值}

二、查找

查找列表中元素,移除每个元素的空格,并查找以 a或A开头 并且以 c 结尾的所有元素。

li = ["alec", " aric", "Alex", "Tony", "rain"]

tu = ("alec", " aric", "Alex", "Tony", "rain")

dic = {‘k1‘: "alex", ‘k2‘: ‘ aric‘,  "k3": "Alex", "k4": "Tony"}

三、输出商品列表,用户输入序号,显示用户选中的商品

商品 li = ["手机", "电脑", ‘鼠标垫‘, ‘游艇‘]

四、购物车

功能要求:

  • 要求用户输入总资产,例如:2000
  • 显示商品列表,让用户根据序号选择商品,加入购物车
  • 购买,如果商品总额大于总资产,提示账户余额不足,否则,购买成功。
  • 附加:可充值、某商品移除购物车

?


1

2

3

4

5

6

goods = [

    {"name": "电脑", "price": 1999},

    {"name": "鼠标", "price": 10},

    {"name": "游艇", "price": 20},

    {"name": "美女", "price": 998},

]

 五、用户交互,显示省市县三级联动的选择

?


1

2

3

4

5

6

7

8

9

10

11

12

13

dic = {

    "河北": {

        "石家庄": ["鹿泉", "藁城", "元氏"],

        "邯郸": ["永年", "涉县", "磁县"],

    }

    "河南": {

        ...

    }

    "山西": {

        ...

    }

}

答案:

#!usr/bin/evn python
# -*- coding:utf-8 -*-
#1
dic={‘k1‘:[],‘k2‘:[]}
li=[11,22,33,44,55,66,77,88,99,90]
for i in li:
    if i>=66:
        dic[‘k1‘].append(i)
    else:
        dic[‘k2‘].append(i)
print(dic)

#2

li = ["aleb", " aric", "Alex", "Tony", "rain"]

tu = ("alec", " aric", "Alex", "Tony", "rain")

dic = {‘k1‘: "alex", ‘k2‘: ‘ aric‘, "k3": "Alex", "k4": "Tony"}

for i in li:
    a=i.strip()
    if (a.startswith(‘a‘) or a.startswith(‘A‘)) and a.endswith(‘c‘):
        print(a)
for j in tu:
    b=j.strip()
    if b.startswith(‘a‘) or b.startswith(‘A‘) and b.endswith(‘c‘):
        print(‘b-‘+b)

for v in dic.values():

    d=v.strip()
    #print(d,‘-‘)
    if (d.startswith(‘a‘) or b.startswith(‘A‘)) and b.endswith(‘c‘):
        print(‘d-‘+d)

#3

li = ["手机", "电脑", ‘鼠标垫‘, ‘游艇‘]
# a={}
# for i,j in enumerate(li,1):
#
#     a[i]=j
#
# num=int(input(‘blabla:‘))
#
# print(a[num])

for i, j in enumerate(li, 1):
    print(i, j)
while 1:

    num = int(input(‘blabla:‘))
    if num > 0 and num <= len(li):

        print(li[num - 1])

    else:
        print(‘null‘)

#4

total_money = int(input(‘请输入总金额:  ‘))

picked_car = []

picked_money = 0
goods = [

    {"name": "电脑", "price": 1999},

    {"name": "鼠标", "price": 10},

    {"name": "游艇", "price": 20},

    {"name": "美女", "price": 998},

]

goods_name = []
goods_name_price = {}
for i in goods:
    a = i[‘name‘]
    b = i[‘price‘]

    goods_name.append(a)
    # print(a)
    goods_name_price[a] = b
# print(goods_name_price)

for j, k in enumerate(goods_name, 1):
    print(j, k)
while 1:

    goods_num = input(‘请输入选中商品号,付款请输入【购买】:  ‘)
    try:
        goods_num = int(goods_num)
    except ValueError:
        goods_num = ‘购买‘
    try:
        picked_car.append(goods_name[goods_num - 1])
        picked_money += goods_name_price[goods_name[goods_num - 1]]
    except TypeError:
        pass
    print(picked_money)
    print(picked_car)

    if goods_num == ‘购买‘ and total_money >= picked_money:
        print(‘购买成功,谢谢惠顾‘)
        break
    elif goods_num == ‘购买‘ and total_money < picked_money:
        user_choice = input(‘您的资金不足,请【充值】或者【移除】购物车内一些商品:‘)
        if user_choice == ‘充值‘:
            print(‘当前余额:‘ + total_money)
            total_money += int(input(‘请输入总金额:  ‘))
            print(‘充值后金额:‘ + total_money)
            continue
        elif user_choice == ‘移除‘:
            while 1:
                print(picked_car)
                del_choice = input(‘请输入要移除的商品,完事后输出【ok】继续付款:‘)
                del picked_car[del_choice]
                print(picked_car)
                if del_choice == ‘ok‘:
                    break
                continue

#5

dic = {

    "河北": {

        "石家庄": ["鹿泉", "藁城", "元氏"],

        "邯郸": ["永年", "涉县", "磁县"],

    }
}

for i in dic:
    print(i)
    a=dic[i]
usip=str(input(‘输入省份: ‘))

for j in a:
    print(j)
    b=dic[i][j]

usip2=str(input(‘输入市: ‘))

for k in b:
    print(k)
usip2=str(input(‘输入县: ‘))

  

时间: 2024-08-03 07:26:26

day4作业的相关文章

day4 作业计算器

作业:计算器开发 (1)实现加减乘除及拓号优先级解析: (2)用户输入 1 - 2 * ( (60-30 +(-40/5) * (9-2*5/3 + 7 /3*99/4*2998 +10 * 568/14 )) - (-4*3)/ (16-3*2) )等类似公式后,必须自己解析里面的(),+,-,*,/符号和公式,运算后得出结果,结果必须与真实的计算器所得出的结果一致.

Day4作业:蛋疼CRM系统

先上流程图,还得27寸4K显示器,画图各种爽: ReadMe: #博客地址:http://www.cnblogs.com/ccorz/ #GitHub:https://github.com/ccorzorz #Mail:[email protected]163.com #Auther:成晨 为什么写两个版本: 武sir这期的作业不是很难,但有一个需求的逻辑个人感觉不是很合理:普通用户可以选择管理员操作的选项. 当然银角的目的是为了我们把装饰器运用到实际程序中. 一般页面展示中,管理员操作选项对于

day4作业小代码练习

登录模块: 我们无论上那个网站,经常遇到这样的情况,让我们登录这个网站,流程图如下: 思路: 1.当我们登录网站的时候,我们首先会输入用户名,这个时候,有些网站会提醒我们用户名是否存在,如果我们输入的用户名不存在的话,会出现提示,告诉我们用户名不存在,这个时候,我们就需要重新输入,或者选择注册,当然,我们这里只是让用户重新输入: 2.用户名存在的话,就需要输入密码,我们知道,输入密码的时候,我们是不验证密码是否正确的,如果直接先验证密码是否正确,也就失去了让用户输入验证码的作用,因此我们总是先不

day4作业之信息表

实在是太low了,终究是自己写的,记录下 #!/usr/bin/env python # coding=utf8 import os, re #这里我把查询这块分为3个函数了,纠结了很久是放一起还是分开,最后还是分开了,容易写一些 def search_age_above_22(): #定义年纪大于22岁函数 new = [] # 把读取到的文件写入至此列表 temp = [] # 记录查询年龄大于22岁的总数列表 with open("Information.txt", "

DAY-4作业

1. (*)有 10 亿元钱每天花一半,可以花多少天? 2. (**)随机产生 20 个[10 , 100]的正整数,输出这些数以及他们中的最大数 3. (**)编程将所有“水仙花数”打印出来,并打印其总个数. “水仙花数”是一个 各个位立方之和等于该整数的三位数. 4.(**)已知 abc+cba = 1333,其中 a,b,c 均为一位数,编程求出满足条件的 a,b,c 所有组合 5. (***)输入两个数,求最大公约数和最小公倍数.(用两种方法:辗转相 除法和普通方法) 6. 求 n 个随

day4 作业,插入图片以及音乐

这份代码看起来应该还不错,思路清晰不少 1 package day3; 2 3 import java.applet.Applet; 4 import java.applet.AudioClip; 5 import java.awt.Color; 6 import java.awt.Dimension; 7 import java.awt.Font; 8 import java.awt.Frame; 9 import java.awt.Graphics; 10 import java.awt.P

Python3.5 day4作业:对员工信息文件,实现增删改查操作。

需求: 1.可进行模糊查询,语法至少支持下面3种: 1.select name,age from staff_table where age > 22 2.select  * from staff_table where dept = IT 3.查到的信息,打印后,最后面还要显示查到的条数 2.可创建新员工纪录,以phone做唯一键,staff_id需自增 3.可删除指定员工信息纪录,输入员工id,即可删除 4.可修改员工信息,语法如下: 1.UPDATE staff_table SET dep

目录大纲

Day 34 黏包 Day 33 Socket编程. Day 32 网络编程 Day 31 面向对象考试题 第四次考试. Day 30 面向对象的考试题 Day 29 _模块二 -hashlib_configparse_logging Day 28面向对象的进阶-内置函数(__new__,__del__) Day 34 面试题 Day 27 类的进阶-反射 Day 26封装 Day 25 多态. Day 24 继承 Day 23 面向对象的命名空间与组合 Day 22 面向对象知识. Day 第

最新linux运维高级架构课13期 架构师课程

有会员购买的,分享给大家.完整一套,可以学习一下. ├─L001-2017linux运维高级架构师13期-运维与自动化运维发展-10节 │      1-1运维职业发展.avi │      1-2运维职业发展.avi │      1-3运维职业发展.avi │      10-1ITIL故障管理和问题管理.avi │      10-2ITIL故障管理和问题管理.avi │      10-3ITIL故障管理和问题管理.avi │      2-1运维知识系统和分类.avi │      2