HTML5怎么做自适应网站,建设银行官网网站首页,弄个网站需要多少钱,网络舆情监测内容Python基础 10道基础练习题 1. 个人所得税计算器描述输入输出示例… Python基础 10道基础练习题 1. 个人所得税计算器描述输入输出示例代码 2.中国古代数学问题——二鼠打洞描述输入输出示例代码 3. 中国古代数学问题——宝塔上的琉璃灯描述输入输出示例代码 4. 子串确认描述输入输出示例代码 5. 计算三维空间某点距离原点的欧式距离题目描述:输入输出示例代码 6. 比赛评分计算描述输入输出示例代码 7. 快乐的数字描述输入输出示例代码 8. 电话查询描述输入输出示例代码 9. 统计字符串出现的次数描述输入输出示例代码 10. 程序设计题 计算手机销量年增长率描述输入输出示例 代码 1. 个人所得税计算器
类型流程控制
描述
2018年10月1日以前个税免征额为3500元/月调整后个税免征额为5000元/月7级超额累进个人所得税税率表如下
全月应纳税所得额含税级距税率(%)速算扣除数不超过3,000元30超过3,000元至12,000元的部分10210超过12,000元至25,000元的部分201,410超过25,000元至35,000元的部分252,660超过35,000元至55,000元的部分304,410超过55,000元至80,000元的部分357,160
所得税计算公式如下
应纳税额 (工资薪金所得 - 五险一金 - 个税免征额) × 适用税率 - 速算扣除数
请编写一个个人所税计算器用户输入应发工资薪金所得、五险一金金额和个税免征额输出应缴税款和实发工资结果保留小数点后两位。当输入应发工资小于0或等于0时输出“error”。
其中实发工资 应发工资 - 五险一金 - 应缴税款
要求使用下面的输入输出语句并补充代码。
salary float(input()) # salary 应发工资薪金所得
five_one_insurance_fund float(input()) # five_one_insurance_fund 五险一金
exemption float(input()) # exemption 个税免征额
#
#补充你的代码来计算应缴纳税款输入格式
输入为三行每一行都是一个浮点数分别代表应发工资、五险一金、个税起征点。
输出格式
输出为一行形如应缴税款490.00元实发工资11510.00元。
输入输出示例
输入
5400
412
5000
输出
应缴税款0.00元实发工资4988.00元。代码
salary float(input()) # salary 应发工资薪金所得
five_one_insurance_fund float(input()) # five_one_insurance_fund 五险一金
exemption float(input()) # exemption 个税免征额
# 计算应缴纳税款
taxable_income salary - five_one_insurance_fund - exemption
if salary 0:print(error)
elif salary - five_one_insurance_fund exemption:print(应缴税款{:.2f}元实发工资{:.2f}元。.format(0, salary-five_one_insurance_fund ))
else:if taxable_income 3000:tax taxable_income * 0.03 - 0elif taxable_income 12000:tax taxable_income * 0.1 - 210elif taxable_income 25000:tax taxable_income * 0.2 - 1410elif taxable_income 35000:tax taxable_income * 0.25 - 2660elif taxable_income 55000:tax taxable_income * 0.3 - 4410elif taxable_income 80000:tax taxable_income * 0.35 - 7160else:tax taxable_income * 0.45 - 15160# 计算实发工资real_salary salary - five_one_insurance_fund - taxprint(应缴税款{:.2f}元实发工资{:.2f}元。.format(tax, real_salary))2.中国古代数学问题——二鼠打洞
类型流程控制 描述
《九章算术》的“盈不足篇”里有一个很有意思的老鼠打洞问题。原文是这么说的今有垣厚十尺两鼠对穿。大鼠日一尺小鼠亦一尺。大鼠日自倍小鼠日自半。问何日相逢各穿几何
这道题的意思是有一堵十尺厚的墙两只老鼠从两边向中间打洞。大老鼠第一天打一尺小老鼠也是一尺。大老鼠每天的打洞进度是前一天的一倍小老鼠每天的进度是前一天的一半。问它们几天可以相逢相逢时各打了多少。
请编程求此题的解要求使用循环来完成不允许使用幂运算。
输入格式
输入为1个整数wall代表墙的厚度单位为尺。
输出格式
输出为两行第一行输出1个整数表示相遇时所需的天数。第二行输出2个浮点数分别为小鼠和大鼠打洞的距离单位为尺保留小数点后1位数字。提示round(f,1)为浮点数f保留一位小数。
输入输出示例
示例 1
输入10
输出
4
1.8 8.2示例2
输入2
输出
1
1 1代码
big_mouse 1 # 大老鼠每天打洞的距离
small_mouse 1 # 小老鼠每天打洞的距离
big_mouse_distance 0
small_mouse_distance 0
distance 0
wall_thickness int(input( )) # 墙的厚度
days 0 # 过了多少天while True:dayed_big_mouse_distance big_mouse_distance dayed_small_mouse_distance small_mouse_distance dayed_big_mouse big_mousedayed_small_mouse small_mousedayed_distance distancebig_mouse_distance big_mousesmall_mouse_distance small_mousedistance big_mouse small_mousedays 1if distance wall_thickness:breakbig_mouse * 2 # 大老鼠每天打洞的距离翻倍small_mouse * 0.5 # 小老鼠每天打洞的距离减半big_mouse_distance dayed_big_mouse_distance (wall_thickness - dayed_distance)*(dayed_big_mouse*1000)/(dayed_big_mouse*1000dayed_small_mouse*1000)
small_mouse_distance dayed_small_mouse_distance (wall_thickness - dayed_distance)*(dayed_small_mouse*1000)/(dayed_big_mouse*1000dayed_small_mouse*1000)
# 输出结果
print({}.format(days))
print({}.format(round(small_mouse_distance,1)) {}.format(round(big_mouse_distance,1)))3. 中国古代数学问题——宝塔上的琉璃灯
类型流程控制 描述
有一座八层宝塔每一层都有一些琉璃灯每一层的灯数都是上一层的二倍已知共有765盏琉璃灯计算并输出每层各有多少盏琉璃灯。
输入格式
本题没有输入。
输出格式
输出为8行每行都是一个正整数从上往下数字依次增大每个数字代表本层宝塔上的琉璃灯数目。
输入输出示例
输出
x
x
xx
xx
xx
xx
xxx
xxx代码
total_lamps 765 # 总琉璃灯数量
lamps 765/(1248163264128)
for x in range(8):print(int(lamps*2**x))4. 子串确认
描述
**输入如“上师大是上海的大学”这样的字符串**
**如果字符串中有’上海‘这样的关键字符串**
**则将包括’上海‘开始的后面的所****有的字符打印出来**
**如以上字串打印出’上海的大学‘**
**如果输入串中没有上海子串**
**则输出’输入串中没有上海子串’**
输入输出示例
输入输出示例 1上师大是上海的大学 河北地质大学是河北的大学上海的大学 输入串中没有上海子串
代码
input_str input() # 输入字符串
target_substring 上海 # 目标子串if target_substring in input_str:# 获取目标子串的起始索引start_index input_str.index(target_substring)# 输出目标子串及其后面的所有字符print(input_str[start_index:])
else:# 如果输入串中没有目标子串则输出提示信息print(输入串中没有 target_substring 子串)
5. 计算三维空间某点距离原点的欧式距离
题目描述:
欧几里得度量euclidean metric也称欧氏距离是一个通常采用的距离定义。三维空间里点a和b的坐标如果分别为a(x1,y1,z1)、b(x2,y2,z2)则ab的距离的计算机公式是dist(a,b) √( (x1-x2)2(y1-y2)2(z1-z2)^2 )
编写函数计算两点的欧式距离并输出保留小数点后两位。
要求将虚线下的代码复制到答题区域、补充完善后再提交。
-------------------------------------------------------------------------------------------------------------------------\#请在这里定义distance函数计算点x,y,z与原点的距离值并返回x,y,zinput().split(,)ddistance(float(x),float(y),float(z))#调用distance函数print({:.2f}.format(d))#输出距离值保留三维小数\#代码区结束输入格式
输入是一个点a的三维坐标以逗号分割形如:x,y,z 其中x,y,z都是非负实数。
例如1.21.31.4
输出格式
输出点a与原点的距离(保留小数点后两位)
例如2.08
输入输出示例
输入输出示例 11.0,1.0,1.01.73
代码
def distance(x, y, z):return ((x ** 2) (y ** 2) (z ** 2)) ** 0.5x, y, z input().split(,)
d distance(float(x), float(y), float(z))
print({:.2f}.format(d))
6. 比赛评分计算
描述
学校举办新生歌手大赛每个选手的成绩由评委的评分去掉一个最高分和一个最低分剩下评分的平均值得到。
编写程序实现输入第一行指定n从第二行开始每行输入一个评委的得分共n行计算选手的成绩并输出。
输入输出示例
输入输出示例 15 10 8.5 9.4 6.7 8该歌手最终成绩为8.6
代码
n int(input())
scores []
for _ in range(n):score float(input())scores.append(score)# 去掉最高分和最低分
scores.sort()
average_score sum(scores[1:-1]) / (n - 2)
print(该歌手最终成绩为{:.1f}.format(average_score))
7. 快乐的数字
描述
编写一个算法来确定一个数字是否“快乐”。 快乐的数字按照如下方式确定从一个正整数开始用其每位数的平方之和取代该数并重复这个过程直到最后数字要么收敛等于1且一直等于1要么将无休止地循环下去且最终不会收敛等于1。能够最终收敛等于1的数就是快乐的数字。
例如*** 19 就是一个快乐的数字计算过程如下
12 92 8282 22 6862 82 10012 02 02 1
当输入时快乐的数字时输出True否则输出False。
输入输出示例
输入输出示例119True
代码
def is_happy_number(num):seen set()while num ! 1 and num not in seen:seen.add(num)num sum(int(digit)**2 for digit in str(num))return num 1# 测试样例
print(is_happy_number(int(input()))) # 输出True8. 电话查询
描述
【问题描述】
定义一个电话簿里头设置以下联系人
‘mayun’:‘13309283335’,
‘zhaolong’:‘18989227822’,
‘zhangmin’:‘13382398921’,
‘Gorge’:‘19833824743’,
‘Jordan’:‘18807317878’,
‘Curry’:‘15093488129’,
‘Wade’:19282937665’
现在输入人名查询他的号码。 【输入形式】
人名是一个字符串。 【输出形式】
电话号码。如果该人不存在返回not found 【样例输入】
mayun 【样例输出】
13309283335
输入输出示例
输入输出示例 1Curry15093488129
代码
phone_book {mayun: 13309283335,zhaolong: 18989227822,zhangmin: 13382398921,Gorge: 19833824743,Jordan: 18807317878,Curry: 15093488129,Wade: 19282937665
}def search_contact(name):if name in phone_book:return phone_book[name]else:return not found# 获取用户输入
name input()# 调用函数进行查询并输出结果
print(search_contact(name))9. 统计字符串出现的次数
描述
输入一组字符串空格分割输出出现次数最多的字符串及其出现次数。
若出现次数最多的字符串有多个则按照字符串升序分行输出。 **输入形式**输入一组字符串空格分割
**输出形式 **输出出现次数最多的字符串及出现次数两者空格分割.
输入输出示例
输入输出示例python cat this name hello this catcat 2 this 2
代码
words input().split()
word_count {}
for word in words:word_count[word] word_count.get(word, 0) 1max_count max(word_count.values())
max_words [word for word, count in word_count.items() if count max_count]
max_words.sort()for word in max_words:print(word, max_count)10. 程序设计题 计算手机销量年增长率
描述 文件smartphone.txt存放着某些公司手机年销量数据每行为每家公司若干年销量百万数据间的分隔符为制表符。 打开文件请注明文件编码格式with open(“smartPhone.txt”,encoding“gbk”) as f: 编写函数isBigGrowth(L,rate),形参L为一组含有数值型数据的列表某公司各年份的销量rate为年增长率判断并返回是否年销量快速增长若每年销量增长率都超过给定的rate则为True,否则为False。 主程序读取smartphone.txt内的数据将每行数据中的年销量转为数值型数据利用函数isBigGrowth(L,rate)计算并屏幕输出各公司年销量是否快速增长的情况本题设年销量增长率均超过30%为快速增长各数据间以制表符相隔。 程序运行结果如下图所示
输入输出示例
手机公司 是否快速增长?
Samsung 否
Apple 否
Huawei 否
OPPO 快速
Vivo 快速
ZTE 否
LG 否
Lenovo 否
Xiaomi 否
附件 程序内如何读取附件
smartPhone.txt
公司 2014年 2015年 2016年 2017年
Samsung 311 322.9 310.3 318.7
Apple 192.9 231.6 215.2 15.8
Huawei 73.6 104.8 139.1 153.1
OPPO 29.9 50.1 92.9 121.1
Vivo 19.5 40.5 74.3 100.7
ZTE 43.8 56.2 60.1 44.9
LG 59.2 59.7 55.1 55.9
Lenovo 70.1 74.1 50.7 49.7
Xiaomi 61.1 70.7 61.5 96.1代码
def isBigGrowth(L, rate):for i in range(1, len(L)):growth_rate (L[i] - L[i-1]) / L[i-1] * 100if growth_rate rate:return Falsereturn Truewith open(smartPhone.txt, encodinggbk) as f:# Read the first line to get the yearsyears next(f).strip().split(\t)[1:]print(手机公司\t是否快速增长?)for line in f:data line.strip().split(\t)company data[0]sales [float(sale) for sale in data[1:]]if isBigGrowth(sales, 30):print(f{company}\t快速)else:print(f{company}\t否)