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开发中也是使用非常频繁的. 先说下对文件操作的流程 打开文件,得到文件的一个句柄,赋值给一个变量 然后通过句柄对文件进行操作(内容的增 ...
随机推荐
- countif函数
EXCEL单元格内数据主要有以下几类:数值型,文本型,逻辑型,错误值型.其中时间类型也是一种特殊的数值.文本类型的数字是文本型. 空单元格:指什么内容也没有的单元格,姑且称之为真空. 假空单元格:指0 ...
- hive传递参数与调用
在运行hive命令时传入参数,使用-hivevar 和 -hiveconf 两种参数选项,来给此次的执行脚本传入参数 -hivevar : 传参数 ,专门提供给用户自定义变量. -hiveconf : ...
- Hadoop下MapReduce实现Pi值的计算
Hadoop自带的例子中,有一个计算Pi值的例子. 这个程序的原理是这样的.假如有一个边长为1的正方形.以正方形的一个端点为圆心,以1为半径,画一个圆弧,于是在正方形内就有了一个直角扇形.在正方形里随 ...
- windows安装解压版postgresql
1.postgresql解压版下载 2.将下载的postgresql-12.1-1-windows-x64-binaries.zip解压 data文件夹后面初始化数据库时手动创建的 3.初始化数据库 ...
- Laravel dingo,HTTP的请求头(accept)无法携带版本号的解决方法
Laravel dingo,HTTP的请求头(accept)无法携带版本号的解决方法 2017年9月6日 原创分享 zencodex 使用 Laravel dingo 做api开发时,涉及 A ...
- VirtualBox 安装CentOS虚拟机网卡配置
VirtualBox虚拟机网络设置(NAT+HOST-ONLY) 目标: 虚拟机可以像宿主机一样访问互联网和其他主机 宿主机和虚拟机可以相互访问 使用NAT实现目标一 使用Host-Only实现目标二 ...
- maven打断点报错
- poi 1017 Packets 贪心+模拟
Packets Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 48349 Accepted: 16392 Descrip ...
- LCA离线Tarjan,树上倍增入门题
离线Tarjian,来个JVxie大佬博客最近公共祖先LCA(Tarjan算法)的思考和算法实现,还有zhouzhendong大佬的LCA算法解析-Tarjan&倍增&RMQ(其实你们 ...
- luoguP5024 保卫王国
题目链接 问题分析 其实是比较明显的动态DP. 懒于再推一遍式子,直接用 最小权点覆盖=全集-最大权独立集,然后就和这道题一样了.题解可以看这里. 然后必须选或者不选的话,就直接把相应的点权变成\(- ...