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 ...
随机推荐
- hdu 2015校赛1002 Dual horsetail (思维题 )
Dual horsetail Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)To ...
- matlab给图片插入说明文字
text(cluster().center(),cluster().center(),num2str(),'color','k') 格式是text(x,y,'说明文字') x,y代表位置
- 分享知识-快乐自己:初识 Hibernate 概念片(一)
1):什么是 Hibernate? Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibe ...
- C#高性能Socket服务器SocketAsyncEventArgs的实现(IOCP)
网址:http://blog.csdn.net/zhujunxxxxx/article/details/43573879 引言 我一直在探寻一个高性能的Socket客户端代码.以前,我使用Socket ...
- 使用top命令查看系统状态
Linux系统可以通过top命令查看系统的CPU.内存.运行时间.交换分区.执行的线程等信息.通过top命令可以有效的发现系统的缺陷出在哪里.是内存不够.CPU处理能力不够.IO读写过高? 使用SSH ...
- 「51Nod1639」绑鞋带(概率
1639 绑鞋带 基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题 收藏 关注 有n根鞋带混在一起,现在重复n次以下操作:随机抽出两个鞋带头,把它们绑在一起.可 ...
- ACM学习历程—HDU 1276 士兵队列训练问题(队列)
Description 某部队进行新兵队列训练,将新兵从一开始按顺序依次编号,并排成一行横队,训练的规则如下:从头开始一至二报数,凡报到二的出列,剩下的向小序号方向靠 拢,再从头开始进行一至三报数,凡 ...
- 模拟select选择器
<form method="post"> <div class="selectly" id="s1"> Select ...
- 开源LTE代码分析
跟踪了一个在将开源组织-OpenLTE(将4G通信网络LTE开源),现将自己梳理整理的一些文档Post出来,请有相同兴趣的朋友指点: 一,系统介绍 OpenLTE是一位Mot的工程师在12年发起的一个 ...
- bzoj4453
单调栈+set+后缀数组 一道奇妙的题 这道题如果对于每个询问$r$是固定的,那么就很简单了,可惜并不是 由于r会变化,那么对于两个子串$[i...r],[j...r]$,他们的大小关系随着r的变化也 ...