Python十天入门之第二天 函数 列表 字典

练习答案  BMI
    while 1:
        height = float(input("请输入您的身高(m):"))
        weight = float(input("请输入您的体重(kg):"))
        bmi = weight / (height * height)
        if bmi < 18.5:
            print("您的体重过轻")
        elif bmi < 23.9:
            print("您的体重正常")
        elif bmi < 27:
            print("您的体重过重")
        elif bmi < 32:
            print("您的体重肥胖,该减肥了亲!")
        else:
            print("亲 您的体重非常肥胖,请马上减肥!")
        print("您的Bmi值为", bmi)
        print("1.再来一次")
        print("2.菜单")
        b = int(input("请选择:"))
        while b != 1 and b != 2:
            b = int(input("选项有误,请重新选择:"))
        if b == 1:
            height = float(input("请输入您的身高(m):"))
            weight = float(input("请输入您的体重(kg):"))
            bmi = height / (weight * weight)
        else:
            break
猜数字

"""
1.随机产生一个数字X-X
2.将猜数字代码写在循环中
 2.1 输入一个数字  并转换为整数
 2.2对比正确答案
 2.3输出三种情况
"""

import random
number = random.randint(0,100)
while True:
    a= int(input("请输入数字:"))
    while a<0 or a >100:
        a = input("数字不符合范围要求,请重输:")
        a = int(a)
    if a > number:
        print("您输入的大了")
    elif a < number :
        print("您输入的小了")
    elif a == number:
        print("您猜对了")
        print("1.继续玩")
        print("2.退出游戏")
        select = input("请选择:")
        select = int(select)
        #选项不等于1也不等于2
        while select!= 1 and select!= 2:
            select = input("选项有误,请重新选择:")
            select= int(select)
        if select==1:
            #重置随机数
            number = random.randint(0.100)
        else:
            #结束游戏,结束循环
            break



计算工资
'''1.输入一个税前工资
2.计算各项社会保险费    如果税前工资>=7662  社会保险费 = 7662 *五险一金比例22.5%    如果税前工资 < 7662 社会保险费 = 税前工资 * 五险一金比例22.5%
3.计算应纳税所得额,计算公式如下    应纳税所得额 = 税前工资收入金额 - 各项社会保险费 - 起征点(3500)
4.判断应纳税所得额所在阶梯的适用税率和速算扣除数
5.根据税率和速算扣除数计算应缴纳税额 计算公式如下:    税额 = 应纳税所得额 * 税率 - 速算扣除数
6.计算到手工资,计算公式如下    到手工资 = 税前工资 - 社会保险费 - 税额'''
while True:
    Money = input("请输入您的税前工资:")
    if Money == "q":
        break
    #转换为数字
    Money = int(Money)
    #判断工资大于等于7662
    if  Money>=7662:
        shebao=7662*0.225
    else:
        shebao=Money*0.225
    sude=Money-shebao-3500
    #判断应纳税所得额所在阶梯的适用税率和速算扣除数
    if Money<=3500:
        sude=0
        shu=0
    elif sude<=1500:
        shu=sude*0.03
    elif sude<=4500:
        shu=sude*0.1-105
    elif sude<=9000:
        shu=sude*0.2-555
    elif sude<=35000:
        shu=sude*0.25-1005
    elif sude<=55000:
        shu=sude*0.3-2755
    elif sude <= 80000:
        shu = sude * 0.35 - 5505
    else:
        shu=sude*0.45-13505
    Money1=Money-shebao-shu
    print("您应缴纳的社保为:",shebao)
    print("您应缴纳的所得税为:",shu)
    print("您的税后工资为:",Money1)

                                                正文

补:%s    占位符

eg:

a = "这是一个占位符"
print("%s" % a)

%f   %.2f    同样的使用方法  但是这个功能是用于小数保留 %.2f  保留小数点后两位

函数   

函数的定义:函数就是封装一个功能代码的集合

功能:定义一个函数

define 定义 

函数名的命名 :每个单词小写,两个单词用_下划线连接,函数名要做到见名知意

格式:def 函数名

函数调用格式: 函数名()

函数是有参数的  参数分两种

1.必要参数

必须要传的参数, 不传会触发异常。

2.缺省参数

参数有默认值 可以传入 也可以不传
缺省参数 如果传入 就取传入值 否则 取默认值

3.return

列表   list

列表 容器类 可以用来存储任意类型的数据,存储的数据是有顺序的

每一条数据(元素)都有一个索引(下标)索引从0开始 以后以此+1

定义列表 列表中的数据用逗号隔开



列表的增删查改:

# 1.append()向列表追加数据,把列表添加到末尾位置
# object:对象
list1.append('world')
list1.append(0)
print(list1)

# 2.insert() 在指定的位置插入数据
# index 索引  object:要插入的数据
list1.insert(3, False)
print(list1)

# 3.修改列表中的数据,通过索引修改
# IndexError: list assignment index out of range 索引超出范围
list1[2] = 666
print(list1)

# 4.获取列表中的数据,通过索引取数据
result = list1[4]
print(result)
print(list1)
# 5.pop() 根据索引移出数据
result = list1.pop()
print(result)
print(list1)
# 索引为负值,从后向前取值,最后一条数据索引为-1
result = list1[-3]
print(result)

# 切片获取到的是一个新的列表
# list1[x: y] 从x开始,到y的前一条数据
result = list1[2: 5]
print(result)
# 从索引0开始,到索引4
result = list1[: 4]
print(result)
# 从索引4,到结束位置
result = list1[4:]
print(result)


# 把列表中的每个元素都取出来,这种方式叫做遍历
# len() 获取列表中元素的个数
# range(x, y) 包含x 不包含y
for x in range(0, len(list1)):

    # 把x的值作为索引,从列表中取出数据
    rs = list1[x]
    # print(rs)

# 删除列表中的数据,根据索引删除
# del  delete:删除
del list1[3]
print(list1)

# remove() 函数 删除指定数据
# ValueError: list.remove(x): x not in list 要删除的元素不在列表中
# 若列表中有相同的元素,只会删除掉第一个匹配到的
list1.remove('hello')
print(list1)

# clear()删除列表中所有的元素
list1.clear()
print(list1)


字典    dict

# 字典 容器类 可以存储任意类型的数据 可以进行增删改查
# 字典中以key: value形式进行数据存储
# key 必须是不可变的  必须是唯一的
# 声明字典
dict1 = {'name': '张三', 'age': 22, 'phone': 110}

# 向字典中添加数据
# 字典[key] = value
dict1['height'] = 170

# 修改字典中的数据
dict1['name'] = '李四'

# 删除字典中的数据
# KeyError: 'xxxx'  字典中没有xxxx这个key
del dict1['height']

# pop()函数,根据key移出字典中key和值
# default参数,如不传递,若key不存在,会触发异常错误
# 若将default参数进行传递,当key不存在时,返回default传递的值
result = dict1.pop('xxxx', '1234')
print(result)
print(dict1)

# 获取字典中的数据,根据key获取,若key不存在,会触发异常错误
# KeyError: 'xxxx'
result = dict1['name']
print(result)
print(dict1)

# get()函数  若key存在,获取到的是对应的值,
# 若key不存在,默认返回None,可以指定默认返回的结果
result = dict1.get('xxxx', 'hello')
print(result)

# 直接遍历字典,拿到的是字典中key
for key in dict1:

    # 根据key从字典中取出数据
    value = dict1[key]
    print('key:%s value:%s' % (key, value))

# 1.keys()获取字典中所有的key,返回一个可迭代(遍历)对象
keys = dict1.keys()
key1 = 'name'
# 判断字典中是否有某个key
# 判断key1是否在keys中,如果在,返回True  不在 返回False
if key1 in keys:
    print('key1在字典中')
else:
    print('key1不在字典中')

# 2.values() 获取字典中所有的值(value) ,返回一个可迭代(遍历)对象
values = dict1.values()
print(values)

练习


学员管理系统

"""
1.添加学员
    1.1 输入学员姓名
    1.2 将输入的姓名添加到列表中
2.查询学员
    2.1 遍历列表,输出每一个学员姓名
    2.2 按照这种格式输出:索引:x   姓名:张三
3.修改学员
    3.1 输出所有学员信息
    3.2 选择要修改的学员索引,输入选择的索引
    3.3 根据选择的索引修改学员信息
4.删除学员
    4.1 输出所有学员信息
    4.2 选择要删除的学员索引,输入选择的索引
    4.3 根据选择的索引删除学员信息
0.退出程序
"""

附录:
有同学不会下载安装唉,在此提供一个pycharm的集成环境和Pycharm的安装包 压缩包里好像忘记写安装教程了 ,碰上问题的同学到时候再问我吧,不难  ,下边是百度云链接

链接:https://pan.baidu.com/s/1u49m3PCr3vBtgmrJqbo4qQ 密码:a4n0

猜你喜欢

转载自blog.csdn.net/qq_40566294/article/details/81210476