python学习之那些你不在乎却操作非主流的练习题(一)
1.写代码,有如下列表,按照要求实现每⼀个功能
lis = [2, 3, "k", ["qwe", 20, ["k1", ["tt", 3, "1"]], 89], "ab", "adv"]
(1)将列表lis中的"tt"变成大写(用两种方式)。
(2)将列表中的数字3变成字符串"100"(用两种方式)。
lis = [2, 3, "k", ["qwe", 20, ["k1", ["tt", 3, "1"]], 89], "ab", "adv"]
#将列表lis中的"tt"变成大写(用两种方式)。
#方法一:利用函数
lis[3][2][1][0] = lis[3][2][1][0].upper()
print(lis)
#方法二:直接修改
lis[3][2][1][0] = 'TT'
print(lis)
# 方法三:替换
lis[3][2][1][0] = lis[3][2][1][0].replace('t','T')
print(lis)
#方法四:大小写转换
lis[3][2][1][0] = lis[3][2][1][0].swapcase()
print(lis)
#将列表中的数字3变成字符串"100"(用两种方式)
#方法一:
lis[1] = '100'
lis[3][2][1][1] = '100'
print(lis)
#方法二:
lis[1] = str(lis[1]).replace('3','100')
lis[3][2][1][1]= str(lis[3][2][1][1]).replace('3','100')
print(lis)
#方法三:相加(骚气)
lis[3][2][1][1] = str(lis[3][2][1][1]+97)
print(lis)
##将列表中的字符串'1'变成数字101(用两种方式)
#方法一:替换
lis[3][2][1][2]= int((lis[3][2][1][2]).replace('1','101'))
print(lis)
#方法二:数字相加
lis[3][2][1][2] = int(lis[3][2][1][2]) + 100
print(lis)
#方法三:字符相加
lis[3][2][1][2] = int(lis[3][2][1][2]+'01')
print(lis)
输⼊⼀个字符串,要求判断在这个字符串中⼤写字⺟,⼩写字⺟,数字,其他共出现了多少次,并输出来
contents = input("请输入;")
up = 0
low = 0
num = 0
oth = 0
for i in contents :
if i.lower() != i : #条件可以用 i.isupper()代替
up += 1
elif i.upper() != i : #件可以用 i.islower()代替
low += 1
elif i.isnumeric() == True :
num += 1
else:
oth += 1
print(f"大写字母有{up}个,小写字母有{low}个,数字有{num}个,其他字符有{oth}个")
3,写代码实现
v1 = {"alex","wusir","taibai"}
v2 = []
循环让用户输入,如果用户输入的内容在v1中存在,就添加到v2中,如果v1中不存在就添加的v1中,用户输入Q退出程序
解析:这道题我本没有用 in 来进行判断,而是直接add给v1,然后判断v1的长度有没有变化。
v1 = {"德玛","皇子","赵信"}
v2 = []
while 1 :
l = len(v1)
s = input('请输入,按q退出:')
v1.add(s)
if s.upper() == 'Q':
print('程序退出!')
break
elif len(v1) == l :
v2.append(s)
print('v1中已存在,添加到v2中')
print(v1)
print(v2)
4.⻋牌区域划分, 现给出以下⻋牌. 根据⻋牌的信息, 分析出各省的⻋牌持有量。
cars = ['鲁A32444','鲁B12333','京B8989M','⿊C49678','⿊C46555','沪 B25041'.....],
locals = {'沪':'上海', '⿊':'⿊⻰江', '鲁':'⼭东', '鄂':'湖北', '湘':'湖南'.....}
结果: {'⿊⻰江':2, '⼭东': 2, '北京': 1,'上海':1}
#方法一;
cars = ['鲁A32444','鲁B12333','京B8989M','黑C46555','沪B25041','湘A32134']
locals = {'沪':'上海','黑':'黑龙江','鲁':'山东','湘':'湖南','京':'北京'}
inf = {} #定义一个字典,用来存放"完整的地区名:数量"键值对
for i in cars :
if inf.get(locals[i[0]]) == None : #首先利用.get()返回值的特性判断inf里有没有存在获得的KEY,如果不存在返回None,进行键值对的添加,value为1
inf[locals[i[0]]] = 1
else: #获得的KEY已经存在的情况下,value的值自加1即可
inf[locals[i[0]]] += 1
print(inf )
#方法二:脑路清奇版
cars = ['鲁A32444','鲁B12333','京B8989M','黑C46555','沪B25041','湘A32134']
locals = {'沪':'上海','黑':'黑龙江','鲁':'山东','湘':'湖南','京':'北京'}
inf = {} #定义一个字典,用来存放"完整的地区名:数量"键值对
for i in cars :
inf[locals[i[0]] = inf.get(locals[i[0]],0) + 1 #充分利用.get就有返回值的特性,当第一次get时,因为inf里不存在key返回数量0并赋值给新创建的这个key
print(inf )
5.使用for循环计算1-3+5-7+9-11+13...99的结果
#方法一:普通
sum1 = 0
ls =[]
for i in range(1,100,2):
ls.append(i)
for l in range(0,len(ls)):
if l%2 == 0:
sum1 += ls[l]
else:
sum1 -= ls[l]
print(sum1)
#方法二:各元素直接%4会出现1和3两种情况
'''
sum1 = 0
ls =[]
for i in range(1,100,2):
if i%4 == 1:
sum1 += i
else:
sum1 -= i
print(sum1)
#方法三:第一次循环+下一次循环-,以此类推
sum1 = 0
count = 0
j = 1
for i in range(1,100,2):
sum1 += j*i
j *= -1
print(sum1)
代码仅用于学习交流,不做他用------持续更新
python学习之那些你不在乎却操作非主流的练习题(一)的更多相关文章
- Python学习系列(五)(文件操作及其字典)
Python学习系列(五)(文件操作及其字典) Python学习系列(四)(列表及其函数) 一.文件操作 1,读文件 在以'r'读模式打开文件以后可以调用read函数一次性将文件内容全部读出 ...
- python学习9—文件基本操作与高级操作
python学习9—文件基本操作与高级操作 1. 文件基本操作 打开文件,获得文件句柄:f = open('filename',encoding='utf-8'),open会查询操作系统的编码方式,并 ...
- python学习笔记(二)文件操作和集合
集合: 集合也是一种数据类型,一个类似列表东西,它的特点是无序的,不重复的,也就是说集合中是没有重复的数据 集合的作用: 1.它可以把一个列表中重复的数据去掉,而不需要你再写判断 2.可以做关系测试, ...
- Python学习笔记3-文件的简单操作
Python中的文件操作 Python中文件打操作离不开两个模块 os 和 shutil os:操作文件.目录: Python os模块包含普遍的操作系统功能.如果你希望你的程序能够与平台无关的话, ...
- python学习笔记——(三)文件操作
·集合操作及其相应的操作符表示集合中没有插入,只有添加,因为毕竟无序 #!/usr/bin/env python # -*- coding:utf-8 -*- # Author:Vergil Zhan ...
- Python学习笔记 -- 第六章 文件操作
I/O编程 在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直接操作磁盘,所以,读写文件就是请求操作系统打开一个文件对象(通常称为文件描述符),然后,通过操作系统提供的接口从这 ...
- python学习笔记(十):操作excel
一.python操作excel,python操作excel使用xlrd.xlwt和xlutils模块,xlrd模块是读取excel的,xlwt模块是写excel的,xlutils是用来修改excel的 ...
- python学习笔记(九):操作数据库
我们在写代码的时候,经常会操作数据库,增删改查,数据库有很多类型,关系型数据库和非关系数据库,这里咱们介绍一下python怎么操作mysql.redis和mongodb. 一.python操作mysq ...
- Python学习,第七课 - 文件操作
Python中对文件的相关操作详解 文件的操作在今后的Python开发中也是使用非常频繁的. 先说下对文件操作的流程 打开文件,得到文件的一个句柄,赋值给一个变量 然后通过句柄对文件进行操作(内容的增 ...
随机推荐
- 关于JavaScript的事件绑定
js事件绑定的几种方式 JavaScript中有三种常用的绑定事件方法: 1. 在DOM元素中直接绑定: 2. 在JavaScript代码中绑定: 3. 绑定事件佳妮婷函数. 一.在DOM元素中直接绑 ...
- jenkins 批量修改svn 地址
svn服务器的ip变了,jenkins里那么多任务一个个修改要疯了, 每个已经创建后的任务的svn 地址都配置在 jenkins 主目录下的jobs 里对应的任务下的config.xml 里 在job ...
- java实体转json
一.首先导入依赖: <dependency> <groupId>net.sf.json-lib</groupId> <artifactId>json-l ...
- jq load()方法实现html 模块化。
在我们写项目的时候,会遇到一个模块在多个页面使用,如果没有页面都写一次,那就太费劲了. 如果你使用了框架(vue,react,Angular)的话,那框架都有模块化,可以轻松解决. 如果你使用原生开发 ...
- jquery load() 方法 语法
jquery load() 方法 语法 作用:当指定的元素(及子元素)已加载时,会发生 load() 事件.该事件适用于任何带有 URL 的元素(比如图像.脚本.框架.内联框架).根据不同的浏览器(F ...
- 创建springboot项目的三种方法(参考
https://blog.csdn.net/mousede/article/details/81285693 https://blog.csdn.net/weixin_42194143/article ...
- 用electrion打包angular成桌面应用
用electrion官网的不行. 还好,可以直接照搬 https://github.com/maximegris/angular-electron 安装必要的库 npm i --save-dev el ...
- Linux之zookeeper开机启动
1.用cd 命令切换到/etc/rc.d/init.d/目录下 [root@bogon ~]# cd /etc/rc.d/init.d 2.用touch zookeeper创建一个文件 [root@b ...
- Django框架使用
---恢复内容开始--- Django 创建第一个项目 本章我们将介绍Django 管理工具及如何使用 Django 来创建项目,第一个项目我们以 HelloWorld 来命令项目. Django 管 ...
- 从零开始学习Gradle之三---多项目构建
随着信息化的快速发展,IT项目变得越来越复杂,通常都是由多个子系统共同协作完成.对于这种多系统.多项目的情况,很多构建工具都已经提供了不错的支持,像maven.ant.Gradle除了借鉴了an ...