一、填空
1.已知s2 = ‘123’,则:s2 * 3 = ‘123123123’; s2 + str(456) = ‘123456’;
2.已知s1 = ‘123456789’。则: s1[:3] = ‘123’; s1[-5:] = '56789’; s1[::
2]=‘13579’
; s1[::-3] = ''963; int(s1[3:5]) + int(s1[-5:3:-1]) = 50

3.已知s1 = “this is a test of Python”;统计字符串串中s出现的次数:_print(s1.count(s))
;
取出⼦子串串”test”的表达式:_print(s1[s1.find(‘test’):s1.find(‘test’)+5])
; 获取s1的反序字符串串:
print(s1[::-1]); 将⼦子串串”test”替换为”exam”:
print(s1.replace(‘test’,‘exam’))_
4.已知字符串串 a = “aAsmr3idd4bgs7Dlsf9eAF”,要求如下:将a字符串串的大写改为小写,小写改为大写:a.swapcase();转为小写字符串串:__a.lower()
5.已知x=“abc”,y=“def”,z=[“d”,“e”,“f”], 则x.join(y)= 'dabceabcf’
;
x.join(z) = 'dabceabcf’

6.把s1=”你好”,编码为字节流字符串:print(s1.encode())_
7.已知字符串串:s2 = ‘ bj1902 ’,去除s2左边的空格:s2.rstrip()__;去除s2右边的空格:__s2.lstrip();去除s2两边的空格:s2.strip();
8.定义变量量s=‘abcde’, 写出下列列代码运⾏行行的结果
s.upper() ‘ABCDE’
__
s[2::-1] ’cba’
s.isdigit() False

s * 2 ’'abcdeabcde__
'’.join(list(s)[:3]) _ab*c_______

编程
【初级】

  1. 输入一个字符串,自己统计该字符串有多少个字符,不允许⽤用len函数
s='abcsdgftyn2w124r598brgt98ttrde'
count=0
for i in s:count+=1
print('字符串个数为:',count)

2.任给一个字符串串,请验证是否是手机号,手机号为11位数字,开头三位必须是130,151,186

  • 使⽤用列列表存储130,151,186;使⽤用in判断
  • 使⽤用切⽚片左取3位
phone = input("请输入手机号:")
if len(phone) == 11 and phone.isdecimal() and phone[:3] in ['130','151','186']:print("手机号正确")
if len(phone) != 11:print("手机号必须11位")
if not phone.isdecimal():print("手机号必须是数字")
if phone[:3] not in ['130','151','186']:print("手机号开头必须是130,151,186")

3.将字符串’1234567890’转换成‘ 1,234,567,890’输出,每3位用逗号隔开。

4.输入两个字符串串,从第一字符串串中删除第二个字符串中所有的字符

s1=input('请输入第一个字符串:')
s2=input('请输入第二个字符串:')
s=str()
for i in s1:if i not in s2:s=s+i
print(s)

5.任意输⼊一段文字,统计有多少个单词(用空格隔开)、多少个数字、多少字母、多少空格。

  1. 已知字符串串 a = “aAsmr3idd4bgs7Dlsf9eAF”,要求如下:
    a.将a字符串的数字取出,并输出成⼀个新的字符串
    b.请统计a字符串出现的每个字母的出现次数(忽略大小写,a与A是同一个字母),并输出成一个字典。 例例 {‘a’:4,‘b’:2}
    c.输出a字符串出现频率最高的字母
    d.请判断 'boy’里出现的每一个字母,是否都出现在a字符串里。如果出现,则输出True,否则,则输 出False
a = "aAsmr3idd4bgs7Dlsf9eAF"
digitNumber=''
for ch in a:if ch.isdigit():digitNumber+=ch
print(digitNumber)ch_lower=a.lower()
s1=set(ch_lower)
dict_count={}
for ch in s1:dict_count[ch]=ch_lower.count(ch)
print(dict_count)
max_count=max(dict_count.values())
for key in dict_count:if dict_count[key]==max_count:print(key,end=' ')
for ch in 'boy':if ch not in a:print(False)breakelse:print(True)

【中级】
1.input函数每次只能输⼊一个字符串,请实现如下输⼊格式:1,20,30 。然后将获得的字符串分割,得到:三个整数:1 20 30,然后赋值给三个变量。
2.求字符串串最后⼀个单词的⻓长度,单词之间⽤用空格分割。

words=input('请输入单词,多个单词以空格分隔单词:')
last_word=words[words.rfind(' ')+1:]
print('最后一个单词长度:',len(last_word))

3.输⼊入⼀一个字符串串,压缩字符串串如下aabbbccccd变成a2b3c4d1

s1=input('请输入一个字符串:')
s2=s1[0]
count=1
for i in range(1,len(s1)):if s1[i]==s1[i-1]:count+=1if i==len(s1)-1:s2+=str(count)else:s2+=str(count)s2+=s1[i]count=1
print(s2)

4.给定⼀一个句句⼦子(只包含字⺟母和空格),将句句⼦子中的单词位置反转,单词⽤用空
格分割, 单词之间只有⼀一个空格,前后没有空格。例例如:
“hello xiao mi”-> “mi xiao hello”

words_str=input('请输入单词,以空格分隔单词:')
new_word=''
word_list=words_str.split(' ')[::-1]
for word in word_list:new_word+=word+' '
print(new_word.strip())

5.将s = “ajldjlajfdljfddd",去重并从⼩到大排序输出"adfjl"

str1=input('请输入字符串:')
str2=sorted(set(str1))
str3=''
for ch in str2:str3+=ch
print(str3)

6.使⽤用密码表加密
密码表加密是⼀种十分常用的密码加密⽅方法,加密的原理是根据明文和密码表,加密形成密文,根据密文和密码表解密,读出明文。密码表可以是如下表所示:
⾃己设计密码表,任意输⼊一个字符串,然后显示其密⽂。运行输⼊如下所示:

rint('''
密文表内容如下:
明文:abcdefghijklmnopqrstuvwxyz1234567890
密文:qwertyuiopasdfghjklzxcvbnm0987654321
''')
str1='abcdefghijklmnopqrstuvwxyz1234567890 '
str2='qwertyuiopasdfghjklzxcvbnm0987654321 '
message=input('请输入明文:')
secret_list=''
for ch in message:secret_list+=str2[(str1.index(ch))]
print('加密后密文:',secret_list)

【选做】
1.凯撒密码:
凯撒密码的使用最早可以追溯到古罗马时期,《高卢战记》有描述恺撒曾
经使用密码来传递信息,即所谓的“恺撒密码”,它是一种替代密码。通过
将字母按顺序推后起 n 位起到加密作用,如将字母 A 换作字⺟ D,将字⺟
B 换作字母 E。因据说恺撒是率先使⽤用加密函的古代将领之一,因此这种加密方法被称为恺撒密码。 这是一种简单的加密方法,这种密码的密度是很低的,只需简单地统计字频就可以破译。现今又叫“移位密码”,只不过移动的位数不确定而已。 已知下面的⽂文字是经过“凯撒”密码加密的,请将其解密,将解密后的内容输出到屏幕上。
Rqfh pruh lqwr wkh euhdfk,ghdu iulhqgv,rqfh pruh;
Ru forvh wkh zdoo xs zlwk rxu Hqjolvk ghdg.
Lq shdfh wkhuh’v qrwklqj vr ehfrphv d pdq
Dv prghvw uwlooqhvv dqg kxplolwb:
Exw zkhq wkh eodvw ri zdu eorzv lq rxu hduv,
Wkhq lplwdwh wkh dfwlrq ri wkh wljhu;
Vwliihq wkh vlqhzv,vxpprq xs wkh eorrg.

secert_message='''Rqfh pruh lqwr wkh euhdfk,ghdu iulhqgv,rqfh pruh;
Ru forvh wkh zdoo xs zlwk rxu Hqjolvk ghdg.
Lq shdfh wkhuh'v qrwklqj vr ehfrphv d pdq
Dv prghvw uwlooqhvv dqg kxplolwb:
Exw zkhq wkh eodvw ri zdu eorzv lq rxu hduv,
Wkhq lplwdwh wkh dfwlrq ri wkh wljhu;
Vwliihq wkh vlqhzv,vxpprq xs wkh eorrg.'''
str1='abcdefghijklmnopqrstuvwxyz'
str2='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
num=int(input('请输入移位密码:'))
message=''
for ch in secert_message:if not ch.isalpha():message+=chelse:if ch.islower():if str1.index(ch) + num <= 25:message += str1[str1.index(ch) + num]else:message+=chelif ch.isupper():if str2.index(ch) + num <= 25:message += str2[str2.index(ch) + num]else:message+=chprint('解密后:',message)

python day8相关推荐

  1. Python Day8 字符串练习

    Day8 字符串 输入一个字符串,打印所有奇数位上的字符(下标是1,3,5,7-位上的字符) 例如: 输入'abcd1234 ' 输出'bd24' str1 = 'abcd1234 ' print(s ...

  2. Python Day8

    Socket Socket是网络编程的一个抽象概念.通常我们用一个Socket表示"打开了一个网络链接",而打开一个Socket需要知道目标计算机的IP地址和端口号,再指定协议类型 ...

  3. Python从基础到精通day8

    OOP基础 . OOP进阶 . re模块 OOP 面向对象的编程 在python中,一切皆对象 对象有属性和方法,通过句点表示 对象通过class生成 类(class)用来描述具有相同属性和方法的对象 ...

  4. python线性加权回归_python深度学习-tensorflow实现一个线性回归的案例

    线性回归:w1x1+w2x2+w3x3+......+wnxn+bias(这是一个偏移量),我们采用的算法是:线性回归,策略是:均方误差,优化是:梯度下降API, 1.转准备好实验的数据:100个数据 ...

  5. python线性回归实例 x轴坐标相同_python深度学习-tensorflow实现一个线性回归的案例...

    线性回归:w1x1+w2x2+w3x3+......+wnxn+bias(这是一个偏移量),我们采用的算法是:线性回归,策略是:均方误差,优化是:梯度下降API, 1.转准备好实验的数据:100个数据 ...

  6. python 网络接口 开发_Python自动化学习笔记(八)——接口开发、发送网络请求、发送邮件、写日志...

    1.接口开发(flask模块) Python自动化学习笔记(七)接口开发部分的内容补充 1.1参数为json格式: flask.request.is_json #判断参数是否是json格式 flask ...

  7. Python自动化学习笔记(八)——接口开发、发送网络请求、发送邮件、写日志...

    1.接口开发(flask模块) Python自动化学习笔记(七)接口开发部分的内容补充 1.1参数为json格式: flask.request.is_json #判断参数是否是json格式 flask ...

  8. Python百日百行代码挑战-day8,day9,day10,游戏实战系列-五子棋

    Python百日百行代码挑战-day8,day9,day10,游戏实战系列-五子棋 写在前面 需要用到的工具包和参考 游戏设定 初始化 切换下棋方 判断五子连珠(核心) 鼠标点击流程事件 成品展示 打 ...

  9. python基础训练 day8

    python基础训练 day8 小,8,题! 题目来源 这应该是目录 python基础训练 day8 第一题(数列求和) 第二题 (完数) 第三题 (等比数列) . 第一题(数列求和) # # 求s= ...

  10. python 学习 [day8]class成员

    一.类的成员 类的成员可以分为三大类:字段.方法和属性 注:所有成员中,只有普通字段的内容保存对象中,即:根据此类创建了多少对象,在内存中就有多少个普通字段.而其他的成员,则都是保存在类中,即:无论对 ...

最新文章

  1. 你所知道的深度学习发展史及核心节点事件?
  2. [拓扑排序/强联通分量] [NOIP201402] 信息传递
  3. Rinne Loves Xor
  4. 解决ng界面长表达式(ui-set)
  5. ZZULIOJ 1095: 时间间隔(多实例测试)
  6. 使用js 调用 google ads
  7. SQL 行转列、列转行
  8. 浙江大学PTA 数据结构 习题2.2 数组循环左移 (20 分)
  9. JS中实现Trim(),TrimStart(),TrimEnd() 的方法
  10. 解决Office 2010 每次打开word时出现配置进度框
  11. python wgs84坐标转换_Python-UTM坐标与经纬度(WGS84)坐标转换
  12. quicktime不能成功安装
  13. 5.2.1_3 普通心理学(彭冉玲第四版) - 第2章 心理的神经生理机制
  14. 离职“招黑”的6种行为,最后一个太惹人反感!
  15. IE无法上网,但其他浏览器可以
  16. ThinkPad电脑黑屏只显示鼠标
  17. 交换机与IP数据报、ICMP协议、ARP协议
  18. 出生日期转化为岁月天
  19. 【计算机组成原理】计算机系统结构笔记(9):多处理机
  20. USB转串口芯片 FT232RL/CH9101/PL2303/CY7C65213同类型芯片参数对比

热门文章

  1. 【软件与系统安全】笔记与期末复习
  2. ITIL 2011 -- 服务运营的5个流程简介
  3. 游戏服务端(MMORPG)的基础算法一、AOI
  4. windows下软件安装:Anaconda下安装Pymol
  5. c语言中srand的作用,C++随机数(rand和srand)函数用法详解
  6. Axure RP 10怎么卸载干净,Axure RP 10怎么在注册表卸载清除
  7. 三角脉冲信号的表达式_脉冲发生器产生一个单三角脉冲,其波形如图所示,例1写出电压U 与.pdf...
  8. hdu 2036 改革春风吹满地【求多边形面积模板】
  9. QT 5.14 高仿 Win10 计算器(标准、科学、程序员、货币、容量)
  10. linux mud 游戏,150919神奇的mud