学编程:Python入门考级必备[11]

目录

1.查找字符串

2.字符串的格式化

3.字符串的转义字符 \' \"

4. 修改字符串

5.字符串连接与分割

附件代码:

炼 知识模块(11) 名符其实--字符串


1.查找字符串

# 1.1用 in 函数

a = 'aa' in 'acacacacaabaac'

print(a)

# 1.2 用index 找不到就报错

b = 'hello world'.index("A")

print(b)

# 1.3 find查找找不到就返回-1。 用哪个好?

c = 'hello world'.find("A")

print(c)


2.字符串的格式化

# 格式:模版字符串 % (参数列表)

s = "姓名:%s 年龄:%d 语文:%d 数学:%.2f" % ("黎明", 11, 85, 90.5)

print(s)

%s %d %.2f  统称 占位符,字符串的占位符会被括号的参数代替掉。

占位符 %s,表示在相应位置填字符串类型,不是字符串会被自动转换。

占位符 %d,应填整数类型,自动转为整数。

占位符 %f,应填浮点数类型,自动转为浮点数。%.2f 保留2位小数  %.5f 保留5位小数


3.字符串的转义字符 \' \"

字符串里面可能包含某些特殊字符

#s = 'What's your name?'

print(s) 输出结果?

#s = 'What\'s your name?'

4. 修改字符串

#4.1 字母转小写:字符串.lower()

s = "Hello MoneY"

s = s.lower()

print(s)

#4.2 字母转大写:字符串.upper()

s = s.upper()

print(s)

#4.3 第一个首字母,其他转小写。字符串.capitalize()

s = s.capitalize()

print(s)

#4.4 替换法 字符串.replace(old,new)

s = s.replace("Hello","  I like")

print(s)

#4.5 删除字符, strip() 默认为空格;lstrip() 删除左端 lstrip() 删除右端

s = s.strip()       # 默认删除两边空格

print(s)

s = s.lstrip("I")   # 指定删除左边 I

s = s.rstrip("y")   # 指定删除右边 y

print(s)


综合练习:

原来字符串:n=" =YOu123na e--    " 转为You,name

#1.查找12是否在字符串,并输出位置

#1.把123 替换为逗号,并输出最新的n

#3.把里面的字母,转为小写,并输出最新的n

#4.用strip() 删除掉左右两端多余的空格,并输出最新的n

#4.把左端的符号,用lstrip() 删除掉,并输出最新的n

#6.把右端的符号,用rstrip() 删除掉,并输出最新的n

#7.把空格替换为m

#8.首字母大写输出


5.字符串连接与分割

5.1 "连接符".join(字符串)

z = '-'.join("hello")

y = '#'.join(["one","two","three"])

5.2 字符串.split('切割符') 切完会返回成列表形式

z = z.split('-')

print(z)

5.3 字符串.split('切割符',切割次数)

y = y.split('#',1)

print(y)

附件代码:

#字符串操作:
#1.切片与索引

#2.查找字符串 “=aBc123De h-- ”
# 2.1用 in 函数,判断字符串是否在里面
a = 'aa' in 'acacacacaabaac'
print(a)


# 2.2 用index 找不到就报错,
#b = 'hello world'.index("A")
#print(b)

# 2.3 find查找找不到就返回-1。 用哪个好?
c = 'hello world'.find("A")
print(c)


#3.字符串的格式化
# 格式:模版字符串 % (参数列表)
s = "姓名:%s 年龄:%d 语文:%d 数学:%.2f" % ("黎明", 11, 85, 90.5)
print(s)

'''
%s %d %.2f  统称 占位符,字符串的占位符会被括号的参数代替掉。
占位符 %s,表示在相应位置填字符串类型,不是字符串会被自动转换。
占位符 %d,应填整数类型,自动转为整数。
占位符 %f,应填浮点数类型,自动转为浮点数。%.2f 保留2位小数  %.5f 保留5位小数
'''

#4. 字符串的转义字符 \' \" 
字符串里面可能包含某些特殊字符
#s = 'What's your name?'
print(s) 输出结果?
#s = 'What\'s your name?'



#5. 修改字符串
#5.1 字母转小写:字符串.lower() low 矮的  lower 更高级
s = "Hello MoneY"
s = s.lower()
print(s)
#5.2 字母转大写:字符串.upper()

#5.3 第一个首字母,其他转小写。字符串.capitalize()

#5.4 替换法 字符串.replace(old,new)

#5.5 删除字符, strip() 默认为空格;lstrip() 删除左端 rstrip() 删除右端综合练习:

#字符串: n = " =YOu123na e--    "

n = " =YOu123na e--    "
#1.查找12是否在字符串,并输出位置
a = n.index("12")
print(a)

#2.把123 替换为逗号,并输出最新的n
n = n.replace("123",",")
print(n)

#3.把里面的字母,转为小写,并输出最新的n
n = n.lower()
print(n)

#4.用strip() 删除掉左右两端多余的空格,并输出最新的n
n = n.strip()
print(n)

#5.把左端的符号,用lstrip() 删除掉,并输出最新的n
n = n.lstrip("=")
print(n)

#6.把右端的符号,用rstrip() 删除掉,并输出最新的n
n = n.rstrip('-')
print(n)

#7.把空格替换为m
n = n.replace(" ",'m')
print(n)

#8.首字母大写输出
n = n.capitalize()
print(n)



#六、字符串连接与分割
6.1 "连接符".join(字符串)
z = '-'.join("hello")
y = '#'.join(["one","two","three"])

6.2 字符串.split('切割符') 切完会返回成列表形式
z = z.split('-')
print(z)

6.3 字符串.split('切割符',切割次数)
y = y.split('#',1)
#字符串与列表的互相转换
#1、定义列表值是 [2,3,4,...,11,12]


a = list(range(2,13)) 
print(a)
ls = []
#用join方法  "连接符".join(列表名)
for i in a:
    ls.append(str(i)) 
print(" ".join(ls))

'''
题2:分别输入两个正整数M,N ,输出M到N之间(含M,N )所有可被7整除,
但不是5的倍数的数字,并以逗号分隔按顺序打印在一行。'''

m =int(input())
n = int(input())
li = []
for i in range(m,n+1):
    if i % 7==0 and i%5 != 0:
        li.append(str(i))
print(",".join(li))


'''题3:输入一个正整数 N(N<30),
输出 1 到 N(包含1和N)之间所有正整数的平方,
且所输出的平方数之间以英文逗号隔开。'''

n = int(input())
liebiao = [] 
for i in range(1,n+1):
    a = i * i           # 变量a存平方数,平方数是一个整数
    liebiao.append(str(a)) # 要把整数转为字符串格式,再存到列表
print(",".join(liebiao))  #用join方法把列表转为字符串格式;然后逗号隔开输出
    
    


炼 知识模块(11) 名符其实--字符串

1.执行以下语句后的输出结果是?(    )  

> > > str1='My name is BeiJing'  

> > > print(len(str1))  

A、20         B、18         C、15         D、16

2.字符串str="maixnm"包含"min"和"max"两个单词,下面哪个操作不能将"min"从中找出来?(     )

A. str1=str[0]+str[2]+str[4]         B. str1=str[0:-1:2]

C. str1=str[::2]         D. str1=str[0:4:2]

3.想得到的输出为"My name is Kevin and I am 10 years old."以下选项正确的是?(    )

A. print('My name is %s and I am %d years old.',%('Kevin',10))

B. print('My name is %s and I am %d years old.'%('Kevin',10))

C. print('My name is %c and I am %d years old.'%('Kevin',10))

D. print('My name is %s and I am %d years old.'%',Kevin',%10))

4.执行下列代码后,运行结果是?(     )  

seq=['hello','good','morning']  

s='*'.join(seq)  

print(s)

A、hello*good*morning*         B、*hello*good*morning

C、hello*good*morning         D、*hello*good*morning*

判断对错(√ / ×)

5.已知字符串str='www.baidu.com',那么print(str.split('.',1))的结果是:['www', 'baidu','com']。 (     )

6.message1='Hello',message1.append('world')的值为'Hello world'。(     )

7.已知Money=8.6675 , print("工资{0:.2f}".format(Money)),结果是:"工资8.67"。(     )

8.运行如下程序
a1='hello'
a2='everybody'
print(a1*2+a2)
运行结果为hellohelloeverybody (     )

9.字符串中的元素是通过索引来定位的,其中第一个元素的索引是0。(     )

10.'red' in ('yellow','red','purple') 的结果为True。(     )


1:实现字符串与列表的互相转换

a = list(range(2,13))

print(a)

ls = []

#用join方法  "连接符".join(列表名)

for i in a:

    ls.append(str(i))

print(" ".join(ls))

题2:分别输入两个正整数M,N ,输出M到N之间(含M,N )所有可被7整除,

但不是5的倍数的数字,并以逗号分隔按顺序打印在一行。

样例输入:

100

147

样例输出:

112,119,126,133,147

M = int(input())

N = int(input())

li= [] # 定义一个空的列表

for i in range(M, N+1): #循环M到N遍

    if i % 7 == 0 and i % 5 != 0: #判断条件满足?

        li.append(str(i))  #就把满足条件的值添加到列表中

print(",".join(li))

题3:输入一个正整数 N(N<30),输出 1 到 N(包含 1 和 N)之间所有正整数的平方,且所输出的平方数之间以英文逗号隔开。

输入描述:输入一个正整数 N(N<30)

输出描述:输出 1 到 N 之间所有正整数的平方数,且所输出的平方数之间以

英文逗号隔开。

【样例输入】

3

【样例输出】

1,4,9

n = int(input())

liebiao = []

for i in range(1,n+1):

    a = i * i                           # 变量a存平方数,平方数是一个整数

    liebiao.append(str(a))  # 要把整数转为字符串格式,再存到列表

print(",".join(liebiao))      # 用join方法把列表转为字符串格式;然后逗号隔开输出


猜你喜欢

转载自blog.csdn.net/weixin_44775255/article/details/128205063