day7计算作业详解
1.day7题目
1.判断一个数是否是水仙花数, 水仙花数是一个三位数, 三位数的每一位的三次方的和还等于这个数. 那这个数就是一个水仙花数, 例如: 153 = 13 + 53 + 3**3
2.给出一个纯数字列表. 请对列表进行排序(升级题).
思路:
完成a和b的数据交换. 例如, a = 10, b = 24 交换之后, a = 24, b = 10
循环列表. 判断a[i]和a[i+1]之间的大小关系, 如果a[i]比a[i+1]大. 则进行互换. 循环结束的时候. 当前列表中最大的数据就会被移动到最右端.
想一想, 如果再次执行一次上面的操作. 最终第二大的数据就移动到了右端. 以此类推. 如果反复的进行执行相应的操作. 那这个列表就变成了一个有序列表.
3.完成彩票36选7的功能. 从36个数中随机的产生7个数. 最终获取到7个不重复的数据作为最终的开奖结果.
随机数:
from random import randint
randint(0, 20) # 0 - 20 的随机数
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%
让用户输入它的工资, 计算最终用户拿到手是多少钱.
5.编写函数处理user_list 并返回如下结果:
[{"name":"alex","hobby_list": ["抽烟","喝酒","烫头"]},
{"name":"wuhir","hobby_list": ["喊麦","街舞"]},]
user_list=[
{"name": "alex","hobby":"抽烟"},
{"name" :"alex","hobby":"喝酒"},
{"name" :"alex","hobby":"烫头"},
{"name":"wusir","hobby":"喊麦"},
{"name":"wusir","hobby":"街舞"},
]
2.题目详解
查看详细内容
1.
suma = 0
i_num = input("请输入判断数字(三位数):").strip()
if len(i_num) == 3 and i_num.isdigit():
for i in i_num:
i = int(i)
suma += i**3
else:
if suma == int(i_num):
print("这是一个水仙花数")
else:
print("这不是一个水仙花数")
else:
print("请输入三位数的数字")
i_num = input("请输入判断数字(三位数):").strip()
s = int(i_num[0])3 + int(i_num[1])3 + int(i_num[2])**3
print(s)
if int(i_num) == s:
print("这是一个水仙花数")
else:
print("这不是一个水仙花数")
a = 10
b = 5
print(a,b)
a,b = b,a
print(a,b)
2-1:冒泡排序
lst = [5,8,2,11,76,100]
count = 0
while count < len(lst):
index = 0
while index < len(lst)-1: #优化len(lst)*0.5 循环一半
if lst[index] > lst[index+1]:
lst[index],lst[index+1] = lst[index+1],lst[index]
index +=1
count += 1
print(lst)
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)
for j in range(len(lst)):
for i in range(int(len(lst)*0.5)):
if lst[i] > lst[i+1]:
lst[i],lst[i+1]=lst[i+1],lst[i]
print(lst)
from random import randint
s = set() #定义一个空集合
while len(s) <= 6:
ret = randint(0, 36)
s.add(ret)
print(s)
salary = input('你的工资:').strip()
if salary.isdigit():salary=int(salary)
if salary <= 2000:
print('收入%s元,免征.'%salary)
elif salary <= 4000:
tax = (salary - 2000)0.03
print('收入%s元,你要交税%s元, 实际收入:%s元'%(salary,tax,salary-tax))
elif salary <= 6000:
tax = 20000.03 + (salary-4000)0.05
print('收入%s元,你要交税%s元, 实际收入:%s元'%(salary,tax,salary-tax))
elif salary <= 10000:
tax = 20000.03 + 20000.05 + (salary-6000)0.08
print('收入%s元,你要交税%s元, 实际收入:%s元'%(salary,tax,salary-tax))
else:
tax = 20000.03 + 20000.05 + 40000.08 + (salary-10000)0.20
print('收入%s元,你要交税%s元, 实际收入:%s元'%(salary,tax,salary-tax))
def gen_lst(arg):
lst = []
dic = {}
for i in arg:
dic.setdefault(i['name'],[]).append(i['hobby'])
for k,v in dic.items():
lst.append({'name':k,'hobby_list':v})
return lst
print(gen_lst(user_list))
day7计算作业详解的更多相关文章
- day6作业详解
1.day6题目 1,老男孩好声⾳选秀⼤赛评委在打分的时候呢, 可以进⾏输入. 假设, 老男孩有10个评委. 让10个评委进⾏打分, 要求, 分数必须⼤于5分, 小于10分. 电影投票. 程序先给出⼀ ...
- day4列表作业详解
1.day4题目 day4作业 1,写代码,有如下列表,按照要求实现每一个功能 li = ["alex", "WuSir", "ritian" ...
- QuantLib 金融计算——基本组件之天数计算规则详解
目录 天数计算规则详解 定义 30 / 360 法 30/360 US 30/360 Bond Basis 30E/360 30E/360 ISDA Actual 法 Actual/Actual IC ...
- day22作业详解
1.面向对象作业1 2.作业详解 点击查看详细内容 #1. class Li(object): def func1(self): print('in func1') obj = Li() obj.fu ...
- DFT计算过程详解
DFT计算过程详解 平时工作中,我们在计算傅里叶变换时,通常会直接调用Matlab中的FFT函数,或者是其他编程语言中已经为我们封装好的函数,很少去探究具体的计算过程,本文以一个具体的例子,向你一步一 ...
- day10函数作业详解
1.day10题目 2,写函数,接收n个数字,求这些参数数字的和.(动态传参) 3,读代码,回答:代码中,打印出来的值a,b,c分别是什么?为什么? a=10 b=20 def test5(a,b): ...
- day9函数作业详解
1.day9题目 1,整理函数相关知识点,写博客. 2,写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者. 3,写函数,判断用户传入的对象(字符串.列表.元组 ...
- day8文件操作作业详解
1.day8题目 1,有如下文件,a1.txt,里面的内容为: 老男孩是最好的培训机构, 全心全意为学生服务, 只为学生未来,不为牟利. 我说的都是真的.哈哈 分别完成以下的功能: a,将原文件全部读 ...
- day3字符串操作作业详解
1.day3题目 1.有变量name = "aleX leNb" 完成如下操作: 1) 移除 name 变量对应的值两边的空格,并输出处理结果 2) 移除name变量左边的&quo ...
随机推荐
- Contiki进程间的交互
之前都是从各个模块开始看起,从底层开始看起.应该改变一下思路,从高往下看,站得高看得远. 一.Main函数 源码:contiki-release-2-7\platform\stm32test\cont ...
- ES6 Class基本用法
JavaScript 语言中,生成实例对象的传统方法是通过构造函数.下面是一个例子. function Point(x, y) { this.x = x; this.y = y; } Point.pr ...
- matlab的代码注释
1.注释一块代码: %{ 此处代码块 %} 2.注释数行代码: 先选中,然后用组合键Ctrl+R 取消注释,用组合键Ctrl+T 3.双%%的作用:代码分块运行,点击双%%之间的代码,再点Run Se ...
- 如何改变cmd窗口大小
按下Win+R(windows徽标和R一起按),再输入cmd. 输入mode ,查看当前屏幕的大小,来为后面准备(大概估计数值大小). 再输入mode con:cols=400 lines=400 ...
- homebrew cask安装launch rocket【转】
简介 brew cask是一个用命令行管理Mac下应用的工具,它是基于homebrew的一个增强工具. homebrew可以管理Mac下的命令行工具,例如imagemagick, nodejs,如下所 ...
- 集训Day6
今天的图论题略多 但好像都是noip题 bzoj3624 有一个图,边是黑色或者白色,求一个生成树满足恰好有k条白边 贪心 我们把最小生成树上的白边叫做“富家子弟”,把不在树上的叫“贫下中农” 很明显 ...
- hdfs 查看报告--命令(hdfs dfsadmin -report)
[hadoop@master sbin]$ hdfs dfsadmin -reportConfigured Capacity: 8202977280 (7.64 GB)Present Capacity ...
- ACM学习历程—HDU4725 The Shortest Path in Nya Graph(SPFA && 优先队列)
Description This is a very easy problem, your task is just calculate el camino mas corto en un grafi ...
- bzoj 4514: 数字配对
题目大意 自己看 题解 我们打表观察规律发现一定能构成一张二分图 也就是不存在奇环 所以我们一般保证费用非负的最大流即可. #include <cstdio> #include <c ...
- 【Lintcode】103.Linked List Cycle II
题目: Given a linked list, return the node where the cycle begins. If there is no cycle, return null. ...