首页 > 其他分享 >第四章 2 数据类型-字符串 练习题

第四章 2 数据类型-字符串 练习题

时间:2022-08-19 11:48:20浏览次数:59  
标签:练习题 join 数据类型 print 第四章 str 字符串 world 表达式

第四章 2 数据类型-字符串 练习题

基础知识

1\python语句 "".join(list('hello wordld!'))的执行结果是:
hello world!
# join() 函数,是字符串内置的一个函数,在 class str下面
a = ("he", "l", "l", "o")
print("*".join(a)) # he*l*l*o
print("".join(a)) # hello
join()函数的功能,就是把一个列表或者元组,拼成一个字符串

2\转义字符'\n'的含义是
回车转行

# 关于转义符 \n 回车 \t 制表符
# print(r"我\n你") 加r 代表不想转义

3\表达式'ab' in 'acbed'的值为
False

4\python3.x语句 print(1,2,3, sep=":")的输出结果为
1:2:3

5\已知 p = r'c:,html', 那么表达式path[:-4]+"htm" 的值为:
c:,htm
# a = "abcd"
# print(a[-4] + 'htm') #ahtm

字符串的切片
str_a= "abcdef" a、b、c、d、e、f的索引依次是0、1、2、3、4、5
str_a[0:4:2]开始索引为0,结束索引为4,步长为2 运行结果"ac"
new_str1 = str_a[::] 结果为: "abcdef" 和原字符串一样
new_str2 = str_a[1::] 结果为 : "bcdef"
new_str3 = str_a[:2:] 结果为:"ab"
new_str4 = str_a[::2] 结果为:"ace"
字符串切片的索引和步长也可以是负数
str_a1 = str_a[:-4] 结果为:"ab"

6\表达式'%c'%65
A

print("这个字符是%c"%65) 结果:这个字符是A
%c : 格式化字符及其ASCII码
这个功能%c 和 函数chr() 的功能是一样的
for i in range(1,256):
print(chr(i), end='')

7\表达式 ‘%s’ % 65 的值为**__**
65

%s 格式化字符串
ss = "%s" % 345345
print(type(ss), ss) 结果: <class 'str'> 345345

8\表达式 ‘%d,%c’ % (65, 65) 的值为**__
65, A
res = '%d, %c' % (65, 65)
print(res) # 结果为 65, A
%d 功能: 格式化整数

9\表达式 ‘The first:{1}, the second is {0}’.format(65,97) 的值为
The first:97, the second is 65
参数的排序为0 1 2 3 4

10\表达式'{0:#d},{0:#x},{0:#o}'.format(65)的值为
65 0x41 0o101
#d 十进制
#x 十六进制
#o 八进制 考查数字转换

11\表达式 ‘:’.join(‘abcdefg’.split(‘cd’)) 的值为
ab:efg

12\表达式 ‘Hello world. I like Python.’.rfind(‘python’) 的值为
20 #从右边开始查找

13\表达式 ‘abcabcabc’.rindex(‘abc’) 的值为
6

14\表达式 ‘abcabcabc’.count(‘abc’) 的值为****
3

15\表达式 ‘apple.peach,banana,pear’.find(‘p’) 的值为****
1

16\表 达 式 ‘apple.peach,banana,pear’.find(‘ppp’) 的 值
-1

17\表达式 ‘abcdefg’.split(‘d’) 的值为
['abc', 'efg']

18\表达式 ‘:’.join(‘1,2,3,4,5’.split(‘,’)) 的值为
1:2:3:4:5

19\表达式 ‘,’.join(‘a b ccc’.split()) 的值
a,b,cc

20\表达式 ‘Hello world’.upper() 的值为
HELLO WORLD

21\表达式 ‘Hello world’.lower() 的值为
hello world

22\表达式 ‘Hello world’.lower().upper() 的值为
HELLO WORLD

23\表达式 ‘Hello world’.swapcase().swapcase() 的值为
Hello world

24\表达式 r’c:.exe’.endswith(‘.exe’) 的值
True

25\表达式 r’c:.exe’.endswith((‘.jpg’,‘.exe')
False 要么就是运行出错
答案为什么是True????

26\表达式 ‘C:.exe’.startswith(‘C:’) 的值为
True

27\表达式 len(‘Hello world!’.ljust(20)) 的值为
20

28\表达式 len(‘abcdefg’.ljust(3)) 的值为
7

29\表达式 ‘a’ + ‘b’ 的值为****_
ab

30\已知 x =‘123’ 和 y =‘456’,那么表达式 x + y 的
"123456"

31\表达式 ‘a’.join(‘abc’.partition(‘a’)) 的值为
aaabc

32\表达式 ’‘.join(’asdssfff’.split(‘sd’)) 的值为
assfff


33\表达式 ‘Hello world!’[-4]的值为
r

34\表达式 ‘Hello world!’[-4:] 的值为****
rld!

35 表达式 ‘test.py’.endswith((‘.py’,‘.pyw’)) 的值为
True

36\表达式 len(‘abc’.ljust(20))的值为
20

37\当在字符串前加上小写字母或大写字母表示原始字符串,不对其中的任何字符进行转义
r,R

38 表达式 ‘abcab’.replace(‘a’,‘yy’) 的值为
yybcyyb

39\表达式 ‘hello world, hellow every one’.replace(‘hello’, ‘hi’) 的值为
hi world, hiw every one

40\ 已知字符串 x = ‘hello world’,那么执行语句 x.replace(‘hello’, ‘hi’) 之后,x 的值为
‘hello world’

41\ x = ‘a b c d’,那么表达式 ‘,’.join(x.split()) 的值为
a,b,c,d

42\表达式 ‘abcab’.strip(‘ab’) 的值为
c

43\ 表达式 ‘abc.txt’.endswith((‘.txt’, ‘.doc’, ‘.jpg’)) 的值为
True

44\ 表达式 ‘abc10’.isalnum()的值为
True

45\5 表达式 ‘abc10’.isalpha() 的值为
False

46 表达式 ‘abc10’.isdigit() 的值为
False

47 表达式 ‘C:.exe’.endswith(‘.exe’) 的值为
True

48 表达式 ‘%s’%[1,2,3] 的值为
'[1,2,3]'

49 表达式 ‘Hello world!’.count(‘l’) 的值为
3

50\已知 x = ‘abcdefg’,则表达式 x[3:] + x[:3] 的值为
'defgabc'

51\ 表达式 ‘aaasdf’.lstrip(‘as’) 的值为****
'df'

52\ 表达式 ‘aaasdf’.lstrip(‘af’) 的值为****
'sdf'

53\ 表达式 ‘aaasdf’.strip(‘af’) 的值为****__
'sd'

54\ 表达式 ‘aaasdf’.rstrip(‘af’) 的值为****___
'aaasd'

55\ 表达式 ‘abc’ in (‘abcdefg’) 的值为
True

56\ 表达式 ‘abc’ in [‘abcdefg’] 的值为
False

57\ 表达式 ‘Beautiful is better than ugly.’.startswith(‘Be’, 5) 的值为
False

58\ 表达式 ‘abc’ in ‘abdcefg’ 的值为
False

59 \代码 print(1,2,3,sep=‘:’) 的执行结果为_
1:2:3

60\ 表达式 eval(‘3+5’) 的值为_
8
eval()函数是把字符型的算术表达式转化为数字型的,这个函数的作用和int()很相似
可以理解为:去掉字符串的引号""

61\ 表达式 eval(‘[1, 2, 3]’) 的值
[1,2,3]

进阶:
1\如何实现字符串的反转?
name = 'liyong'
print(name[::-1]) # gnoyil

2\将字符串“k:1|k1:2|k2:3|k3:4”,处理成 Python 字典:{k:1, k1:2, … } # 字 典里的 K 作为字
符串处理

res = 'k:1|k1:2|k2:3|k3:4'
res1 = res.split('|')
dic = {}
for i in res1:
res2 = i.split(':')
dic[res2[0]] = int(res2[1])
print(dic)

3\常用的字符串格式化哪几种?
name = '张三'
1)、占位符
s1 = "%s DSB 你好"%name
2)、format
s2 = '{} DSB 你好'.format(name)
3)、f-string(python3.6 之后才有的特性)
s3 = f'{name} DSB 你好

4\ 简述字符串驻留机制
字符串,将其赋值给多个不同的对象时,内存中只有一个副本,多个对象共享该副本。
驻留适用范围: 由数字,字符和下划线(_)组成的 python 标识符以及整数[-5,256]

5\如何查找一个字符串中特定的字符?find 和 index 的差异?
1)、find()方法:查找子字符串,若找到返回从 0 开始的下标值,若找不到返回-1
2)、index()方法:在字符串里查找子串第一次出现的位置,类似字符串的 find 方法,不
过比 find 方法更好的是,如果查找不到子串,会抛出异常,而不是返回-1
3)、rfind 和 rindex 方法用法和上面一样,只是从字符串的末尾开始查找

6 把 aaabbcccd 这种形式的字符串压缩成 a3b2c3d1 这种形式

str = "aaabbcccd"
str1 = []
for i in str:
str1.append(f'{i}{str.count(i)}')
str2 = list(set(str1))
str2.sort()
str3 = ''.join(str2)
print(str3) # a3b2c3d1

7 给你一个字符串,比如‘abc’,请打印出该字符串的所有排列组合:
import itertools

str = input("请输入一个字符串:")
lst1 = []
for i in itertools.permutations(str, len(str)):
lst2 = ''.join(i)
lst1.append(lst2)
print(lst1)

#['abc', 'acb', 'bac', 'bca', 'cab', 'cba']
# itertools.permutations是itertools(循环器)里面的一个permutations(排列工具)

8\对于一个非空字符串,判断其是否可以有一个子字符串重复多次组成,字符串 只包含小写字母
且长度不超过 1000
示例 1:
1. 输入"abab"
2. 输出 True
3. 样例解释: 输入可由"ab"重复两次组成
示例 2:
1. 输入"abcabcabc"
2. 输出 True
3. 样例解释: 输入可由"abc"重复三次组成
示例 3:
1. 输入"aba"
2. 输出 False

s =input("请输入一个字符")
ch = 2
while ch < len(s):
if s[0:ch] == s[ch:(ch * 2)]:
print(True, s[0:ch],s[ch:(ch * 2)])
break
ch += 1
else:
print(False)




9\s='asdfasdfasdfsadfsdfgdsfgdsgfdsfqwerqew',去重并从小到在排序输出
s = 'asdfasdfasdfsadfsdfgdsfgdsgfdsfqwerqew'
res = list(set(s))
res.sort()
res = ''.join(res)
print(res) #adefgqrsw

10\ 给出如下代码,可以输出“python”的是( )
s='Python is beautiful!'
• print(s[:-14] )
• print(s[0:6].lower() )
• prints(s[0.6])
• print(s[-21:-14].lo

肯定是B啊,这是一个智障题,只有一个选项有lower

11\给出如下代码,下述代码的输出结果是()
s="Alice" print(s[::-1])
• ALICE
• ecilA
• Alic
• Alice
倒序排序啊 B

12\ 有如下字符串: ’a+b+-c**d++e*f g’,请处理后
输出:[‘a’,‘b’,‘c’,‘d’,‘e’,‘f’,‘g’]
res = 'a+b+-c**d++e*f g'
res2 = []
for i in res:
if i.isalpha():
res2.append(i)
print(res2) # ['a', 'b', 'c', 'd', 'e', 'f', 'g']

13\5 字符串函数 title()是使字符串开头首字母大写 ()

解析:title()函数使每个单词首字母都大写
catitalize才是一个文章开头大写.


标签:练习题,join,数据类型,print,第四章,str,字符串,world,表达式
From: https://www.cnblogs.com/leeyong49/p/16601469.html

相关文章

  • JS 有哪些数据类型,如何判断这些数据类型 ?
    最新标准定义了8种数据类型,7种基本数据类型,1中引用数据类型基本数据类型:String,Number,Boolean,undefined,null,Symbol(符号),BigInt(数值类型,表示任意精度的整数)引......
  • javascript 数据类型
    值类型(基本类型):字符串(String)、数字(Number)、布尔(Boolean)、未定义(Undefined)、Symbol(ES6引入了一种新的原始数据类型,表示独一无二的值)。特殊的值:未定义(Undefined)引......
  • js-数据类型-作用域-作用域链-变量 审核中
    变量变量声明的几种方式varletconst相同之处varletconst都可以用来声明一个变量都拥有函数作用域与全局作用域不同之处var声明的变量有变量提升而let......
  • MYSQL练习题(45题)
    建表语句--学生表StudentcreatetableStudent(SIdvarchar(10),Snamevarchar(10),Sagedatetime,Ssexvarchar(10));insertintoStudentvalues('01','赵雷',......
  • JavaSE:第四章:面向对象上
    史上最全的知识体系脑图,覆盖所有知识点,所有细节,注意事项。面向对象上:包含面向对象与面向过程,类和对象,属性,方法,封装和隐藏,构造器(构造方法),this的使用,值传递,package、impor......
  • protobuf3 标量数据类型
    标量数据类型消息标量字段可以是以下类型之一——下表列出了可以用在.proto文件中使用的类型,以及在生成代码中的相关类型:.protoTypeNotesC++TypeJavaTypePython......
  • Redis 数据类型list以及使用场景
    简介: Redis数据类型list以及使用场景数据存储需求:存储多个数据,并对数据进入存储空间的顺序进行区分需要的存储结构:一个存储空间保存多个数据,且通过数据可以体现进入顺......
  • Python 数据类型及转换
    Python数据类型及转换说明:Python每一个变量在使用前都要赋值,每个变量都有一个数据类型,之前说的type()函数可以查看变量的类型。Python常见的数据类型有:Number(数字)、Strin......
  • 4、Python语法入门之基本数据类型
    4、Python语法入门之基本数据类型 目录一引子二数字类型2.1int整型2.1.1作用2.1.2定义2.2float浮点型2.2.1作用2.2.2定义2.3数字......
  • Redis5种基本数据类型的常用操作命令
    1、key相关操作1kyes*--查看所有key2existskey--判断key是否存在3typekey--查看key类型4delkey--删除key5unlinkkey--删除key【异步】6expirekey......