学习python的第八天--作业
判断一个数是否是水仙花数, 水仙花数是一个三位数, 三位数的每一位的三次方的和还等于这个数.
那这个数就是一个水仙花数, 例如: 153 = 1**3 + 5**3 + 3**3
num = input ("请输入三位数") if int(s) > 999 or int(s) < 100: print("错了") else: num[0] =diyi num[1] =dier num[2] =disan sum = int(diyi)**3 + int(dier)**3 + int(disan)**3 if int(s) == sum: print("水仙花数") else: print("不是水仙花数")
3. 完成彩票36选7的功能. 从36个数中随机的产生7个数. 最终获取到7个不重复的数据作为最终的开奖结果.
from random import randint for i in range(100): s = set() while len(s) <7: s.add(randint(1,36)) print(s)
4. 税务部门征收所得税. 规定如下:
1). 收入在2000以下的. 免征.
2). 收入在2000-4000的, 超过2000部分要征收3%的税.
3). 收入在4000-6000的, 超过4000部分要征收5%的税.
4). 收入在6000-10000的, 超过6000部分要征收8%的税.
4). 收入在10000以上的, 超过部分征收20%的税.
注, 如果一个人的收入是8000, 那么他要交2000到4000的税加上4000到6000的税加上6000到8000的税.
收入 = 8000-(4000-2000)*3%-(6000-4000)*4%-(8000-6000)*8%
让用户输入它的工资, 计算最终用户拿到手是多少钱.
salary = int(input("请输入你的工资:")) # if salary <= 2000: # 基准点 # print("你不用交税") # print("你的收入是%s" % salary) # elif salary <= 4000: # print("你要交的税款:%s" % ((salary - 2000) * 0.03)) # print("你的收入是:%s " % (salary - (salary - 2000) * 0.03)) # elif salary <= 6000: # print("你要交的税款:%s" % ((4000-2000)*0.03 + (salary-4000)*0.05)) # print("你的收入是:%s " % (salary - ((4000-2000)*0.03 + (salary-4000)*0.05))) # elif salary <= 10000: # print("你要交的税款:%s" % ((4000-2000)*0.03 + (6000-4000)*0.05 + (salary-6000)*0.08)) # print("你的收入是:%s " % (salary - ((4000-2000)*0.03 + (6000-4000)*0.05 + (salary-6000)*0.08))) # else: # print("你要交的税款:%s" % ((4000 - 2000) * 0.03 + (6000 - 4000) * 0.05 + (10000 - 6000) * 0.08 + (salary - 10000) * 0.2)) # print("你的收入是:%s " % (salary - ((4000 - 2000) * 0.03 + (6000 - 4000) * 0.05 + (10000 - 6000) * 0.08 + (salary - 10000) * 0.2)))
2.给出一个纯数字列表. 请对列表进行排序(升级题).
# 思路:
# 1.完成a和b的数据交换. 例如, a = 10, b = 24 交换之后, a = 24, b = 10
# 2.循环列表. 判断a[i]和a[i+1]之间的大小关系, 如果a[i]比a[i+1]大.
# 则进行互换. 循环结束的时候. 当前列表中最大的数据就会被移动到最右端.
# 3.想一想, 如果再次执行一次上面的操作. 最终第二大的数据就移动到了右端.
# 以此类推. 如果反复的进行执行相应的操作. 那这个列表就变成了一个有序列表.
lst = [1, 9, 5, 3,8, 288, 197, 666, 12, 5, 2, 6, 7] for j in range(len(lst)): # 控制内层循环执行的次数, 执行排序的次数 for i in range(len(lst)-1): # 比较和互换, 时间复杂度比较高。 你们回去想办法降低时间复杂度 if lst[i] > lst[i+1]: lst[i], lst[i+1] = lst[i+1], lst[i] print(lst) # 核心思想: 互换 # 快排,归并,堆排序, 希尔排序........ # a = 10 # b = 20 # a, b = b, a