03 python基础作业(一)
1.将['alex','eric',’rain’]用下划线拼接成字符串。(['alex','eric',123]呢?)
li=['alex','eric','rain'] v='_'.join(li) print(v)
当列表是字符串和数字组合时:
li=['alex','eric',123] #先将数字转化为字符串。join()是字符串函数 li[2]=str(li[2]) v='_'.join(li) print(v)
分析:join方法将字符串或者字符拼接,不能将数字和字符串拼接,故要先将列表的数字元素转化为字符串。列表元素修改直接索引方式赋值。
2.查找列表中的元素,移除每个元素的空格,并查找以a或A开头,并以c结尾的所有元素。
li = ['alec', 'aric', 'Alex', 'Tony', 'rain']
tu = ('alec', 'aric', 'Alex', 'Tony', 'rain')
dic = {'k1':'alec', 'k2':'aric', 'k3':'Alex', 'k4':'Tony'}
#移除空格 lstrip
result=[]
for item in li:
if item[0]== 'a' or item[0]=='A' and item[-1]=='c':
result.append(item)
print(result)
for item in tu:
if item[0]== 'a' or item[0]=='A' and item[-1]=='c':
result.append(item)
print(result)
for item in dic.values():
if item[0]== 'a' or item[0]=='A' and item[-1]=='c':
result.append(item)
print(result)
解析:循环+if条件判断,生成空列表,将找到的元素用append方法加入。
3.写代码,有如下列表,按照每个功能实现:
li=['alex','eric',’rain’]a.计算长度并输出b.列表中追加元素’seven’,并输出添加后的列表。c.请在列表的第一个位置插入元素’Tony’,并输出添加后的列表。d.请修改列表的第二个位置的元素为’Kelly’,并输出添加后的列表。e.请删除列表的元素’eric’,并输出修改后的列表。f.请删除列表的第二个元素,并输出删除元素的值和删除元素后的列表。g.请删除列表的第三个元素,并输出删除元素后的列表。h.请删除列表的第二个至第四个元素,并输出删除元素后的列表。i.请将列别所有的元素反转,并输出删除元素后的列表。j.请使用for、len、range输出列表的索引k.请使用enumerate输出列表元素和序号(序号从100开始)l.请使用for循环输出列表所有元素
li=['alex','eric','rain']
# a.计算长度并输出
v=len(li)
print(v)
# b.列表中追加元素’seven’,并输出添加后的列表。
li.append('seven')
print(li)
# c.请在列表的第一个位置插入元素’Tony’,并输出添加后的列表。
li.insert(0,'Tony')
print(li)
# d.请修改列表的第二个位置的元素为’Kelly’,并输出添加后的列表。
li[1]='Kelly'
print(li)
# e.请删除列表的元素’eric’,并输出修改后的列表。
del li[1]
print(li)
# f.请删除列表的第二个元素,并输出删除元素的值和删除元素后的列表。#pop()可以返回删除元素的值
v=li.pop(1)
print(v,li)
# j.请使用for、len、range输出列表的索引
li=['alex','eric','rain']
for i in range(len(li)):
print(i)
# k.请使用enumerate输出列表元素和序号(序号从100开始) enumerate(sequence, [start=0])
li = ['alex', 'eric', 'rain']
# list(enumerate(li,start=100))
v=list(enumerate(li,start=100))
print(v)
# l.请使用for循环输出列表所有元素
li = ['alex', 'eric', 'rain']
for item in li:
print(item)
解析:len、索引、enumerate方法(有助于由列表生成字典)
4.写代码,有如下列表,请按照功能要求实现每一个功能
li=[‘hello’,’seven’,[‘mom’,[‘h’,’kelly’],’all’],123,446]
a.根据索引输出’Kelly’
b.使用索引找到’all’元素并将其修改为’ALL’
li=['hello','seven',['mom',['h','kelly'],'all'],123,446] # v = li.capitalize(**li[2][1][1]) # v= li[2][1][1] t=v.capitalize() #capitalize(self) print(t) ###############b############### v=li[2][2] t=v.upper() print(t)
解析:capitalize(self);upper()
6.tu=(‘alex’,[11,22,{‘k1’:’v1’,’k2’:[‘age’,’name’],’k3’:(11,22,33)},44]),请问tu变量中的’k2’对应什么类型?是否可以被修改?如果可以,请在其中添加一个元素’seven’
tu=('alex',[11,22,{'k1':'v1','k2':['age','name'],'k3':(11,22,33)},44])
tu[1][2]['k2'].append('seven') #append()直接追加到self,不需要再赋值。
print(tu)
解析:元祖第一级元素不能修改;append
7.字典
dic={'k1':'v1','k2':'v2','k3':[11,22,33]}
#a.请循环输出所有的key
for item in dic.keys():
print(item)
#b.请循环输出所有的value
for item in dic.values():
print(item)
#c.请循环输出所有的key和value
for item in dic.items():
print(item)
#d.请在字典中添加一个键值对,’k4’:’v4’,输出添加后的字典
dic.update({'k4':'v4'})
print(dic)
#e.请修改字典中’k1’对应的值为’alex’,输出修改后的字典
dic = {'k1': 'v1', 'k2': 'v2', 'k3': [11, 22, 33]}
dic['k1'] = 'alex'
print(dic)
#f.请在k3对应的值中追加一个元素44,输出修改后的字典
dic['k3'].append(44)
print(dic)
#g.请在k3对应的值的第一个位置插入元素18,输出修改后的字典
dic['k3'].insert(0,18)
print(dic)
解析:keys;values;items;update;索引
8.转换
#a .将字符串s=‘alex’转换成列表
s='alex'
s=list(s)
print(s)
#b .将字符串s=‘alex’转换成元组
s='alex'
s=tuple(s)
print(s)
#c . 将列表li=[‘alex’,‘seven’]转换成元组
li=['alex','seven']
li=tuple(li)
print(li)
#d .将元组tu=(‘alex’,‘seven’)转换成列表
li=('alex','seven')
li=list(li)
print(li)
#e 将列表li=[‘alex’,‘seven’]转换成字典且字典的key按照10开始向后递增 #################################
li=['alex','seven']
dic = { }
for k,v in enumerate(li,start=10):
dic[k]=v
print(dic)
解析:enumerate(*,[start]=0);tuple;list;dict
9.元素分类
有如下值集合[11,22,33,44,55,66,77,88,99,90],将所有大于66的值保存在字典的第一个key中,将小于66的值保存至第二个key中。
即:{‘k1’:大于66的所有值,‘k2’:小于66的所有值}
li=[11,22,33,44,55,66,77,88,99,90]
dic={ 'k1':[],'k2':[]}
for item in li:
if item > 66:
dic['k1'].append(item)
if item < 66:
dic['k2'].append(item)
print(dic)
解析:1.初始dic的建立;2.append的用法。
10.输出商品列表,用户输入序号,显示用户选中的商品
商品li=[‘手机’,‘电脑’,‘鼠标垫’,‘游艇’]
a .允许用户添加商品
b . 用户输入序号显示内容
li=['手机','电脑','鼠标垫','游艇']
dic={}
for k,v in enumerate(li,start=1):
dic[k]=v
print(dic)
n=input("如果想添加商品请输入1,如果想显示内容请输入2:")
n=int(n)
if n==1:
sp=input("请输入想添加的商品:")
dic.update({5:sp})
print(dic)
else:
nu=input('请输入1-5的序号:')
nu=int(nu)
print('-------end-------------')
03 python基础作业(一)的更多相关文章
- python基础作业1
目录 附加练习题(提示:一步步拆解) 1.想办法打印出jason 2.想办法打印出大宝贝 3.想办法打印出run 4.获取用户输入并打印成下列格式 5 根据用户输入内容打印其权限 6 编写用户登录程序 ...
- Day 03 Python 基础
目录 Pycharm 的使用 设置 快捷键 变量 什么是变量 定义变量 变量名的命名规则 变量名的两种命名方式 注释 快捷键(快速注释) 单行注释 多行注释 注释的作用 Turtle库的使用 Pych ...
- 03 Python基础
1.输出和输入 (1)print打印 Python 提供print方法来打印信息 输入: print ("hello python") 调用print方法,用户双引号(" ...
- python基础作业2
目录 编写一个用户认证装饰器 利用有参装饰器编写多种用户登录校验策略 利用递归函数依次打印列表中每一个数据值 获取用户权限并校验用户登录 编写一个用户认证装饰器 """ ...
- python基础一之课后作业:编写登录接口
1 # Author : Mamba 2 3 #python基础一之课后作业:编写登录接口 4 5 # 输入用户名密码 6 # 认证成功后显示欢迎信息 7 # 用户名3次输入错误后,退出程序 8 # ...
- python基础 实战作业 ---Excel基本读写与数据处理
代码地址如下:http://www.demodashi.com/demo/11650.html 看完本篇需要: 10min 作业练习需要: 0.5h~3h(依练习者对python熟悉程度而定) 看完本 ...
- python开发基础作业01:模拟登陆系统
随老男孩学习python mark 作业要求及提示:编写登录接口 ''' 练习程序:编写登录接口 1. 输入用户名和密码 2. 认证成功后显示欢迎信息 3. 输错三次后锁定 输入三次后退出,下次同样用 ...
- Day3 - Python基础3 函数、递归、内置函数
Python之路,Day3 - Python基础3 本节内容 1. 函数基本语法及特性 2. 参数与局部变量 3. 返回值 嵌套函数 4.递归 5.匿名函数 6.函数式编程介绍 7.高阶函数 8. ...
- 第一模块·开发基础-第1章 Python基础语法
Python开发工具课前预习 01 Python全栈开发课程介绍1 02 Python全栈开发课程介绍2 03 Python全栈开发课程介绍3 04 编程语言介绍(一) 05 编程语言介绍(二)机器语 ...
随机推荐
- 你知道@RequestMapping的name属性有什么用吗?【享学Spring MVC】
每篇一句 牛逼架构师:把复杂问题简单化,把简单问题搞没 菜逼架构师:把简单问题复杂化 前言 不知这个标题能否勾起你的好奇心和求知欲?在Spring MVC的使用中,若我说@RequestMapping ...
- 201871010134-周英杰《面向对象程序设计(java)》第一周学习总结
项目 内容 java https://www.cnblogs.com/nwnu-daizh/ 任课老师博客下 https://www.cnblogs.com/nwnu-daizh/p/11435127 ...
- CentSO7.6下部署Maridb Galera Cluster 实践记录(一)
根据目前系统业务发展,预计未来上集成的概率异常之高,所以提前学习如何部署,网上尽管有很多这方面资料,但是真正适合自己的只有实践过的. 很奇怪目前的yum资源库里面为什么没有galera资源,目前只能通 ...
- PyCharm 安装常用设置
一.Pycharm (一).安装 1.在百度找到PyCharm官网,http://www.jetbrains.com 2.下载 3.选择版本(根据自己的喜好选择,我这里选的是其他版本,2017年3月专 ...
- 一个例子明白 javascript 中 for 与 for in 的区别
var arr = new Array(); arr["a"] = "aa"; arr["b"] = "bb"; arr ...
- change,Ringo题目
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- Mysql两种引擎
Innodb引擎 Innodb引擎提供了对数据库ACID事务的支持,并且实现了SQL标准的四种隔离级别.该引擎还提供了行级锁和外键约束,它的设计目标是处理大容量数据库系统,它本身其实就是基于MySQL ...
- java.io.IOException: 设备上没有空间
解决: 逐层目录查找最大文件夹du -h --max-depth=1 确定最大目录为log目录,删除log目录下的所有日志文件rm -f *
- 去掉first li 的list图标
ul中,第一个 li 前的小图标,默认情况下为小圆点,在这种情况下,给 first li 设置 list-style-type: none;可以成功去除前面的小圆点的. 当给 li 设置了 list ...
- [STL] Implement "vector", ”deque“ and "list"
vector “可增的”数组 vector是一块连续分配的内存,从数据安排的角度来讲,和数组极其相似. 不同的地方就是: (1) 数组是静态分配空间,一旦分配了空间的大小,就不可再改变了: (2) v ...