Python每天吃掉一点点DAY2(根据某教程100练)

DAY2:

目录

DAY2:

Test 2:

列表:

元组:

格式化输入:



Test 2:

涉及知识点:

  • 列表
  • 元组
  • 格式化输入

题目:只做一个个人所得税计算器,要求输入工资,输出应缴纳个人所得税的金额

        现附上个税表:

个人所得税税率级数对应表
级数全年应纳所得税额(元)税率(%)
1不超过36000的部分3
2超过36000至不超过144000的部分10
3超过144000至不超过300000的部分20
4超过300000至不超过420000的部分25
5超过420000至不超过660000的部分30
6超过660000至不超过960000的部分35
7超过960000的部分45

先上代码:

#个税计算器
arr=[960000,660000,420000,300000,144000,36000,0]
percent=(0.45,0.35,0.3,0.25,0.2,0.1,0.03)

salary=int(input("Your salary:"))
ans=0

for i in range(0,7,1):
    if salary>arr[i]:
        ans+=(salary-arr[i])*percent[i]
        salary=arr[i]
print(ans)

列表:

#定义方法
列表名=[元素1,元素2,元素3,元素4,元素5,...]

arr = ['a','b','c','d']
下标:   0   1   2   3
也可用: -4  -3  -2  -1
  • 列表名:列表名就是一个变量名,符合Python变量命名规则
  • 元素:列表中每个元素的类型不一定要求相同
  • 可以通过arr[x:y]的方式读取一个列表中多个元素(下标为x到y,x或y均可缺省)
  • 如果我们需要删除列表中一个元素,可以通过 "del 列表名[n]" 来删除
  • 具体使用方式见如下代码(细心的话会发现转义字符有些时候被转义,有些时候不会
arr=[960000,"aaa",0xcc,"*\n*"]

print("-------------分割线--------------")
print("用For遍历列表:")
for i in arr:
    print(i,end=",")
    
print("\n")
print("-------------分割线--------------")
print("下标为-1的元素:",arr[-2])
print("下标为-4的元素:",arr[-4])

print("\n-------------分割线--------------")
print("arr[2:4]:",end="")
print(arr[2:4])

print("-------------分割线--------------")
print("arr[2:]:",end="")
print(arr[2:])

print("\n-------------分割线--------------")
print("arr[:4]:",end="")
print(arr[:4])

print("\n-------------分割线--------------")
print("也可以直接输出整个列表:",end="")
print(arr)

print("\n-------------分割线--------------")
print("删除掉下标为3的列表元素:",end="")
del  arr[3]
print(arr)

print("\n-------------分割线--------------")
print("可以通过以下代码删除掉整个列表",end="")
del  arr

 输出结果:


元组:

#定义方法
元组名=(元素1,元素2,元素3,元素4,元素5,...)

arr = ('a','b','c','d')
下标:   0   1   2   3
也可用: -4  -3  -2  -1
  • 元组的基本规则与列表极其相似
  • 不同的是,元组类似于C语言中的常量数组,在第一次定义时赋值后就不能再修改
  • 如果元组只有一个元素,要在最后一个元素后加上逗号(如:arr=(2,))
  • 特别的:元组不能删除某一个元素
  • 元组和列表其实都是可以加减的,这点后续遇到题目在说
arr=(960000,"aaa",0xcc,"*\n*")

print("-------------分割线--------------")
print("用For遍历元组:")
for i in arr:
    print(i,end=",")
    
print("\n")
print("-------------分割线--------------")
print("下标为-1的元素:",arr[-2])
print("下标为-4的元素:",arr[-4])

print("\n-------------分割线--------------")
print("arr[2:4]:",end="")
print(arr[2:4])

print("-------------分割线--------------")
print("arr[2:]:",end="")
print(arr[2:])

print("\n-------------分割线--------------")
print("arr[:4]:",end="")
print(arr[:4])

print("\n-------------分割线--------------")
print("也可以直接输出整个元组:",end="")
print(arr)

print("\n-------------分割线--------------")
print("可以通过以下代码删除掉整个元组",end="")
del  arr

 输出结果

 Ps:大家可以研究一下元组的输出与列表的区别


格式化输入:

#格式化输入
变量名=数据类型(input("提示信息"))
  • 变量名:该变量立即储存input输入的值
  • 数据类型:类似于C语言类型转换,将input输入的数据转变为需要的类型
  • 提示信息:在屏幕上输出该字符串来引导用户输入
  • 通过比价下面两个代码和输出结果来理解数据类型的作用: 

实例1: 

#实例1
data=int(input("请输入123:"))
print(data+1)

 输出结果: 

实例2: 

#实例2
data=str(input("请输入123:"))
print(data+1)

输出结果 : 

通过比较可以发现:

当我们将input的类型转化为int后,编译器认为我们输入的123是一个数字,data为一个整形变量,在print中+1后直接输出为数字 。

当我们将input的类型转化为str后,编译器认为我们输入的123是一个字符串,此时data为一个字符串变量,在print中+1后由于字符串不能+数字,编译器提示错误。

但实例2改为如下代码即可正常运行:

data=str(input("请输入123:"))
print(data+"1")

输出结果:

 因为字符串可以用+来拼接

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值