Class16:初学python之练习题
练习题一:
ageTable = '''
诸葛亮, 28
刘备, 48
刘琦, 25
赵云, 32
张飞, 43
关羽, 45
'''
解答:
name_ages = []
#split默认按照空格来切割,可以指定切割方式n
for one in ageTable.split('\n'):
if one.strip() == '':
continue
name_ages.append(one.strip())
g30 = []
h30 = []
for name_age in name_ages:
name = name_age.split(',')[0]
age = int(name_age.split(',')[1])
if age > 30:
g30.append(name.strip())
elif age <= 30:
h30.append(name.strip())
print("年龄大于30岁的人:",g30)
print("年龄小于30岁的人:",h30)
练习题二:
1.下面的log变量记录了云服务器上 当天上传的文件信息
其中第一列是文件名,第二列是文件大小
请编写一个程序,统计出不同类型的 文件的大小总和
比如:
jpeg 9988999
json 324324
png 2423233
log = '''
f20180111142119/j_0g45JRth.json 159 Fq1rFwdRguYRXrp61nGZ5TsUG1V- 15156517143375596 application/json 0
f20180111144306/i_yE5TC84E.png 139230 Fjf61ymabEnEvnr5ZMHFjXGCrYlP 15156530038824150 image/png 0
f20180111144306/j_OF4WVtSH.json 159 FqwkKcxfo8jd0jFUyuH4X2CrnE9q 15156530083419530 application/json 0
f20180111150230/i_KtnER4g3.png 120044 FuwOWdrqzcr2-UScem-LzEMgMezs 15156541734892258 image/png 0
f20180111150230/j_xMSUEejY.json 158 FjJr_4deMqFphGaptm-2Pa6wwRP2 15156541771989216 application/json 0
f20180111151741/i_JuSWztB3.jpg 92506 FrIjRevHSi6xv4-NQa2wrHu5a1zQ 15156550875370965 image/jpeg 0
f20180111153550/i_9wWzVenl.gif 769872 FvslKY9JUaCQm-lu02E34tvAP_oG 15156561674621628 image/gif 0 '''
首先根据换行符来切割,切割后是一个列表。列表中的每一个元素是原来的一行,for循环去便利列表
定义一个空字典,用存放之前处理过的数据
image_dict = {}
log_list = log.splitlines()
for one in log_list:
if one.strip() == '':
continue
else:
取出来每一个行元素在根据制表符\t来切割,切割后的结果是列表,列表的下标为1的元素作为图片大小,下标为0d的元素图片格式,需要再次切割
row = one.split(" ")
图片大小
image_size = int(row[1])
图片类型
image_type = row[0].split('.')[1]
if image_type in image_dict:
image_dict[image_type] += image_size
else:
image_dict[image_type] = image_size
print(image_dict)
练习题三:
str1 = '''
熊宁
杰益
王伟伟
青芳
玉琴
焦候涛
莫福
杨高旺
唐欢欢
韩旭
'''
str2 = '''
焦候涛
熊宁
玉琴 骆龙 韩旭
杨高旺杰益 莫福 伟伟李福
'''
def str_name(a,b):
str1_name = a.split("\n")
str2_name = b.split("\n")
c = str_name_new(str1_name)
d = str_name_new(str2_name)
str1_new_name = fun1(c,d)
str2_new_name = fun1(d,c)
return str1_new_name,str2_new_name
def fun1(c,d):
new_name = []
for one in c:
if one in d:
continue
else:
new_name.append(one)
return new_name
def str_name_new(str1_name):
new_str_name = []
for one in str1_name:
if one.strip() == '':
continue
else:
new_str_name.append(one.strip())
return new_str_name
a,b = str_name(str1,str2)
print(a,b)
简化版
def fun1(*str_name):
存放的切割之后的结果,在大列表中每一个字符串的处理的结果作为大列表的元素
name_list = []
for name in str_name:
new_name = name.split('\n')
name_list.append(new_name)
c处理后的数据存放在列表
new_name_dict = {}
enumerate同时列出元素和元素下标
for idx,one in enumerate(name_list):
求列表长度
list_len = len(one)
小列表的下标
index = 0
while index < list_len:
if one[index] == '':
index += 1
continue
else:
if idx in new_name_dict:
new_name_dict[idx].append(one[index].strip())
else:
new_name_dict[idx] = [one[index].strip()]
index += 1
qqq = new_name_dict[0]
aaa = new_name_dict[1]
yyy = ko(qqq,aaa)
nnn = ko(aaa,qqq)
return yyy,nnn
def ko(qqq,aaa):
yes = []
for sss in qqq:
if sss in aaa:
continue
else:
yes.append(sss)
return yes
print(fun1(str1,str2))
练习题四:
请写一个程序:首先提示用户输入年龄、身高、体重信息,格式如下如下
请输入您的性别:男
请输入您的身高(厘米):
175
厘米
请输入您的体重(公斤):
80
公斤
注意:
用户输入的内容,前后、中间都可能有空格,比如 175
厘米
然后根据如下的计算公式,计算出身高对应的标准体重。
标准体重
(
男
)=(
身高
cm-100)x0.9(kg)
标准体重
(
女
)=(
身高
cm-100)x0.9(kg)-2.5(kg)
如果体重在标准体重上下5公斤,都属于标准体重,提示用户体重标准。
否则提示用户高于标准还是低于标准
a = input('请输入您的性别:')
b = int(input('请输入您的身高(厘米):').strip())
c = int(input('请输入您的体重(公斤):').strip())
if a == '男':
if (b-100)*0.9-5<=c<=(b-100)*0.9+5:
print('您体重标准')
elif (b-100)*0.9-5>c:
print('您体重低于标准')
else:
print('您体重高于标准')
elif a == '女':
if (b-100)*0.9-2.5-5<=c<=(b-100)*0.9-2.5+5:
print('您体重标准')
elif (b-100)*0.9-2.5-5>c:
print('您体重低于标准')
else:
print('您体重高于标准')
else:
print('输入有误')
练习题五:
有如下的代码,定义了一个Python字符串
str1 =
'大家好,我的名字叫:大聪明'
请接下来写一行代码,不要数人名字的下标位置,而是使用字符串split方法,打印出 str1里面的人名字。
str1 = '大家好,我的名字叫:大聪明'
print((str1.split(':'))[1])
练习题六:
有如下的代码,定义了一个Python字符串
str1 =
'大家好,我的名字叫:大聪明'
请接下来写一行代码,不要数人名字的下标位置,而是使用字符串find方法 找到人名字的下标位置,打印出 str1里面的人名字。
str1 = '大家好,我的名字叫:大聪明'
print(str1[str1.find('大聪明'):])
练习题七:
有如下的代码,定义了一个Python列表 变量
var1 = [
33, [
'我的名字',
'马保国'],
'hello world!']
请接下来写一行代码,在列表33这个元素的后面 添加一个元素 字符串‘你好’
var1 = [ 33, ['我的名字', '马保国'], 'hello world!']
var1.insert(1,'你好')
print(var1)
练习题八:
有如下的代码,定义了一个Python列表 变量
var1 = [
33, [
'我的名字',
'马保国'],
'hello world!']
请接下来写一行代码,在列表的开头处添加一个元素: 字符串 ‘你好’
var1 = [ 33, ['我的名字', '马保国'], 'hello world!']
var1.insert(0,'你好')
print(var1)
练习题九:
有如下的代码,定义了一个Python列表 变量
var1 = [
33, [
'我的名字',
'马保国'],
'hello world!']
请接下来写一行代码,在列表的结尾处添加一个元素 字符串 ‘你好’
var1 = [ 33, ['我的名字', '马保国'], 'hello world!']
print(var1)
var1.append('你好')
print(var1)
练习题十:
请大家实现一个程序, 对人的健康状况进行评估。
该程序运行起来先询问用户
请输入你的身高(单位米):
用户输入身高(比如1.8)后,再询问用户
请输入你的体重(单位公斤):
用户输入体重(比如70)后,再询问用户
请输入你的年龄:
用户输入年龄(比如30)后,进行如下判断:
如果用户 年龄 < 10 岁, 显示:10岁以下儿童不参与健康评估
如果用户 年龄 >=10 岁 并且 < 60 岁:
如果 体重 除以 身高的2次方 > 24 就提示用户体重超重
如果 体重 除以 身高的2次方 < 18 就提示用户体重超轻
否则,就提示用户 体重正常
如果用户 年龄 >= 60 岁, 显示:60岁以上老人不参与健康评估
a = float(input('请输入您的身高(单位米):'))
b = float(input('请输入您的体重(单位公斤):'))
c = int(input('请输入您的年龄:'))
if c<10:
print('10岁以下儿童不参与健康评估')
elif 10<=c<60:
if 24<(b/a)**2:
print('您体重超重')
elif(b/a)**2<18:
print('您体重超轻')
else:
print('体重正常')
else:
print('60岁以上老人不参与健康评估')
Class16:初学python之练习题相关推荐
- 初学Python到月入过万最快的兼职途径(纯干货)
1.兼职薪资,附行哥工资单 2.兼职门槛,附学习知识清单 3.兼职途径,附入职考核过程 4.行哥的兼职感受 答应行友的第一篇赚钱干货推文来啦,行哥第一个在读书期间通过兼职赚到的10w+收入,这也是初学 ...
- 这些Python基础练习题你会几个?
在人工智能大火的当今,Python 作为人工智能时代的首选语言已经越来越收到追捧:但是许多非科班.零基础的小伙伴常常苦于没有合适的入门 Python 的教程而感到苦恼:本人是一名资深Python开发, ...
- 初学python的30个操作难点汇总(入门篇)希望对你有帮助
初学Python的人总会遇到这样或者那样的问题,在我学习Python的这段时间我总结了自己的29个问题,具体如下: 1 在cmd下 盘与盘之间的切换 直接 D或d: 就好 2 查找当前盘或者文件下面的 ...
- python字典练习题
python字典练习题 写代码:有如下字典按照要求实现每一个功能dict = {"k1":"v1","k2":"v2", ...
- python去除中间空格只留一个_汇总初学Python的21个操作难点,看完别再去踩坑了...
初学Python时,不管是容易的操作难点,还是困难的操作难点,都是要一步步的去踩坑摸索得出结果,小编今天就给大家汇总初学时Python的21个操作难点,看完之后可别再去掉到同样的坑里去了. 1 查找当 ...
- 初学Python常见异常错误,总有一处你会遇到!
初学Python常见异常错误,总有一处你会遇到! 参考文章: (1)初学Python常见异常错误,总有一处你会遇到! (2)https://www.cnblogs.com/xxpythonxx/p/1 ...
- 初学 Python(十三)——匿名函数
初学 Python(十三)--匿名函数 初学 Python,主要整理一些学习到的知识点,这次是匿名函数. # -*- coding:utf-8 -*- #关键字lambda定义的函数都是匿名函数 #做 ...
- 安装完python后、还需要安装什么-初学 Python 需要安装哪些软件?
原标题:初学 Python 需要安装哪些软件? 自动配置.有效求助.协作编程.版本控制.一站式解决 Python 新手练习中的痛点. 痛点 这个学期,我在北得克萨斯大学(University of N ...
- 使用python用什么软件-python开发工具有哪些(初学python用什么软件)
python开发工具有哪些 一.jupyternotebookIDE简介-五星推荐 jupyternotebook是python学习与开发的一款简介的IDE,是一款Web应用程序,便于创建和编写文档等 ...
最新文章
- shell发送网页邮件
- FPGA笔试题解析(四)
- win10启动修复_win10下以安全模式启动电脑全攻略,装机、修复电脑故障必备
- SAP数据表(一)商品表
- jxl生成表格(合并单元格,字体,样式)
- spring cloud eureka 服务之间调用_Spring-cloud微服务实战【一】:微服务的概念与演进过程...
- 机器博弈 (三) 虚拟遗憾最小化算法
- make files touse cmd line to protect exe
- 基于ELMO Composer的MAXON RE40电机增益调节
- arcgis字段计算器赋值_ArcGIS中62个常用应用技巧汇总【必须收藏】
- 如何读取或转换PCD点云文件
- 8位并行左移串行转换电路_单片机试题
- Au:剪辑的基础操作
- 三相短路电流计算机算法的原理什么,三相短路电流的计算机算法
- 计算机组成原理是答案,计算机组成原理(上)_答案mooc
- python2升级python3语法错误总结
- 对极限编程四个核心的理解
- 这里整理了基于java平台的常用资源
- 测试儿童智力软件开发,四种常用儿童智力测试办法介绍
- Three.js光照贴图添加阴影(·lightMap)
热门文章
- 权限操作(部分代码,仅共参考)
- 在10万以内的一个整数,它加上 100 后是一个完全平方数,再加上 168 又是一个完全平方数,请问该数是多少?
- 软件的接口设计图_软件的生命周期amp;测试基本流程
- 线性筛求莫比乌斯函数前缀和
- c 语言switch结尾,C存在fall through的switch语句
- 【2020年总结】但行好事,莫问前程——纪念煎熬与快乐并存的一年
- SaaS爆发前夜,e签宝的选择与命运
- 【MySQL】如何构建一个完整的MySQL知识体系(MySQL专栏启动)
- Matlab代码测基于DEA-SBM模型的ml指数,gml指数
- 【Web Development - AnnihilateSword】02 - Introduction to HTML