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开发中也是使用非常频繁的. 先说下对文件操作的流程 打开文件,得到文件的一个句柄,赋值给一个变量 然后通过句柄对文件进行操作(内容的增 ...
随机推荐
- 批量升级 CentOS bash
#! /usr/bin/env python #coding=utf-8 from fabric.api import * from fabric.state import * env.rol ...
- 【C#-导出Excel】DataSet导出Excel
1.添加引用 2.封装方法 using System; using System.Data; using System.IO; using NPOI.HSSF.UserModel; using NPO ...
- phpstudy 80端口被占用的解决方法
1.执行httpd.exe D:\phpStudy\PHPTutorial\Apache\bin>httpd.exe 返回 could not bind to address 0.0.0. ...
- P2015 二叉苹果树,树形dp
P2015 二叉苹果树 题目大意:有一棵二叉树性质的苹果树,每一根树枝上都有着一些苹果,现在要去掉一些树枝,只留下q根树枝,要求保留最多的苹果数(去掉树枝后不一定是二叉树) 思路:一开始就很直接的想到 ...
- HGOI 20191029pm 题解
Promblem A 小学组 给出一个位运算操作符$\oplus \in \{or , and , xor\}$ ,和$n$个$m$维向量$a_i$,其中$a_{i,j} \in \{0,1\}$. ...
- TensorFlow使用记录 (九): 模型保存与恢复
模型文件 tensorflow 训练保存的模型注意包含两个部分:网络结构和参数值. .meta .meta 文件以 “protocol buffer”格式保存了整个模型的结构图,模型上定义的操作等信息 ...
- CodeForces - 369E Valera and Queries(树状数组)
CodeForces - 369E Valera and Queries 题目大意:给出n个线段(线段的左端点和右端点坐标)和m个查询,每个查询有cnt个点,要求给出有多少条线段包含至少其中一个点. ...
- SRS之接收推流线程:recv
SrsPublishRecvThread.SrsRecvThread.SrsReusableThread2.SrsThread 之间的关系图 1. recv 线程函数:SrsThread::threa ...
- Linux安全工具之fail2ban防爆力破解
一:简单介绍 fail2ban是一款实用软件,可以监视你的系统日志,然后匹配日志的错误信息(正则式匹配)执行相应的屏蔽动作 在企业中,有些很多人会开放root登录,这样就有机会给黑客造成暴力破解的机会 ...
- DP&图论 DAY 1 下午
DP&图论 DAY 1 下午 区间和序列上的DP 序列上的DP >序列上的dp状态设计最基本的形式 F[i]表示以 i 结尾的最优值或方案数.◦ F[i][k]表示以 i 结尾附加 ...