文章目录
- 1.根据完整的路径从路径中分离文件路径、文件名及扩展名
- 2.根据标点符号对字符串进行分行
- 3.去掉字符串数组中每个字符串的空格
- 4.随意输入你心中想到的一个书名,然后输出它的字符串长度。 (len()属性:可以得字符串的长度)
- 5.两个学员输入各自最喜欢的游戏名称,判断是否一致,如果相等,则输出你们俩喜欢相同的游戏;如果不相同,则输出你们俩喜欢不相同的游戏。
- 6.上题中两位同学输入 lol和 LOL代表同一游戏,怎么办?
- 7.让用户输入一个日期格式如“2008/08/08”,将输入的日期格式转换为“2008年-8月-8日”。
- 8.接收用户输入的字符串,将其中的字符进行排序(升序),并以逆序的顺序输出,“cabed”→"abcde"→“edcba”。
- 9.接收用户输入的一句英文,将其中的单词以反序输出,“hello c sharp”→“sharp c hello”。
- 10.从请求地址中提取出用户名和域名
- 11.有个字符串数组,存储了10个书名,书名有长有短,现在将他们统一处理,若书名长度大于10,则截取长度8的子串并且最后添加“...”,加一个竖线后输出作者的名字。
- 12.让用户输入一句话,找出所有"呵"的位置。
- 13.让用户输入一句话,找出所有"呵呵"的位置。****
- 14.让用户输入一句话,判断这句话中有没有邪恶,如果有邪恶就替换成这种形式然后输出,如:“老牛很邪恶”,输出后变成”老牛很**”;
- 15.如何判断一个字符串是否为另一个字符串的子串
- 16.如何验证一个字符串中的每一个字符均在另一个字符串中出现过双层循环
- 17.如何随机生成无数字的全字母的字符串
- 18.如何随机生成带数字和字母的字符串
- 19.如何判定一个字符串中既有数字又有字母
- 20.字符串内的字符排序(只按字母序不论大小写)
- 21.判断一个字符是否是回文字符串(面试题)
1.根据完整的路径从路径中分离文件路径、文件名及扩展名
import os
path = "D:\python code\作业\05 python作业5\作业5.py"
dir_path,filename = os.path.split(path)
name,extension = os.path.splitext(filename)
print("文件路径为:",dir_path)
print("文件名为:",name)
print("扩展名为:",extension)
2.根据标点符号对字符串进行分行
str = input("请输入一个带有','的字符串:")
list1 = str.replace(",","\n")
print(list1)
3.去掉字符串数组中每个字符串的空格
def delete_space(str):
string = str.replace(' ', '')
print(string)
str = input("请输入带有空格的字符串:")
delete_space(str)
4.随意输入你心中想到的一个书名,然后输出它的字符串长度。 (len()属性:可以得字符串的长度)
book = input("请输入一个你心中想到的书名:")
print("该书名长度为:%s"%len(book))
5.两个学员输入各自最喜欢的游戏名称,判断是否一致,如果相等,则输出你们俩喜欢相同的游戏;如果不相同,则输出你们俩喜欢不相同的游戏。
def judge(game1,game2):
if game1 == game2:
print("俩学员喜欢相同的游戏")
else:
print("俩学员喜欢不相同的游戏")
game1 = input("输入喜欢的游戏名:")
game2 = input("输入喜欢的游戏名:")
judge(game1,game2)
6.上题中两位同学输入 lol和 LOL代表同一游戏,怎么办?
def judge(game1,game2):
if game1.upper() == game2.upper():
print("俩学员喜欢相同的游戏")
else:
print("俩学员喜欢不相同的游戏")
game1 = input("输入喜欢的游戏名:")
game2 = input("输入喜欢的游戏名:")
judge(game1,game2)
7.让用户输入一个日期格式如“2008/08/08”,将输入的日期格式转换为“2008年-8月-8日”。
import time
def transition(date0):
date = time.strptime(date0, "%Y/%m/%d")
print(f"{date.tm_year}年-{date.tm_mon}月-{date.tm_mday}日")
date0 = input("请输入日期(格式如2008/08/08):")
transition(date0)
8.接收用户输入的字符串,将其中的字符进行排序(升序),并以逆序的顺序输出,“cabed”→"abcde"→“edcba”。
def transition(str):
str = list(str)
str.sort()
print(str)
str.reverse()
str = "".join(str)
print(str)
str = input("请输入字符串:")
transition(str)
9.接收用户输入的一句英文,将其中的单词以反序输出,“hello c sharp”→“sharp c hello”。
def transition(s):
ls = s.split(" ") # 以空格作为分隔符,分割字符串
ls.reverse()
for i in range(1,len(ls)+1,2): # 在ls的偶数位插入空格
ls.insert(i," ")
ls = "".join(ls)
print(ls)
ls = input("请输入字符串:")
transition(ls)
10.从请求地址中提取出用户名和域名
http://www.163.com?userName=admin&pwd=123456
s = "http://www.163.com?userName=admin&pwd=123456"
ls = s.split("/")
s1 = ls[2]
ls2 = s1.split("?")
print("域名是:{}".format(ls2[0]))
s1 = ls2[1]
ls3 = s1.split("&")
s1 = ls3[0]
ls4 = s1.split("=")
print("用户名是:{}".format(ls4[1]))
11.有个字符串数组,存储了10个书名,书名有长有短,现在将他们统一处理,若书名长度大于10,则截取长度8的子串并且最后添加“…”,加一个竖线后输出作者的名字。
ls = ["斗破苍穹","遥远的向日葵","命运","午夜降临前抵达","杀死一只知更鸟","月亮和六便士","一个叫欧维的男人决定死去","我们仨","边城","白天的房子,夜晚的房子"]
dir = {"斗破苍穹":"天蚕土豆","遥远的向日葵":"李娟","命运":"蔡崇达","午夜降临前抵达":"刘子超","杀死一只知更鸟":"哈珀.李","月亮和六便士":"毛姆","一个叫欧维的男人决定死去":"弗雷德斯","我们仨":"杨绛","边城":"沈从文","白天的房子,夜晚的房子":"奥尔加.托卡尔丘克"}
for i in range(0,len(ls)):
s = ls[i]
if len(s) > 10:
s = s[0:9]+"..._"+str(dir[ls[i]])
else:
s = s+"_"+str(dir[ls[i]])
ls[i] = s
print(ls)
12.让用户输入一句话,找出所有"呵"的位置。
def find_page(n, m):
ls = []
for i in range(len(n)):
if n[i] == m:
ls.append(i)
print(f"{m}的位置是:{ls}")
n = input("请输入一段话:")
m = input("请输入要查找的字:")
find_page(n,m)
13.让用户输入一句话,找出所有"呵呵"的位置。****
def find_hehe(n,m,nm):
ls = []
for i in range(0,len(n)-1):
if n[i] == m and n[i+1] == nm:
ls.append(i)
print(f"{m}{nm}的位置是:{ls}")
n = input("请输入一段话:")
m = input("清输入要查找的字符串的第一个字:")
nm= input("清输入要查找的字符串的第二个字:")
find_hehe(n,m,nm)
14.让用户输入一句话,判断这句话中有没有邪恶,如果有邪恶就替换成这种形式然后输出,如:“老牛很邪恶”,输出后变成”老牛很**”;
def find_evil(str):
print(str.replace("邪恶","**"))
str = input("请输入中文语句:")
find_evil(str)
15.如何判断一个字符串是否为另一个字符串的子串
find()
index()
双层循环完成
??
def judge(str1,str2):
if str2.find(str1) != -1:
print("str1是为str2的子串")
else:
print("str1不为str2的子串")
str1 = input("请str1输入中文语句:")
str2 = input("请str2输入中文语句:")
judge(str1,str2)
16.如何验证一个字符串中的每一个字符均在另一个字符串中出现过双层循环
def judge(str1,str2):
str2 = set(str2)
str2 = "".join(str2)
flag = 0
for i in str1:
for j in str2:
if i == j:
flag += 1
if flag==len(str1):
print("str1中的每一个字符在str2中出现过")
else:
print("str1中的有字符不在str2中出现过")
str1 = input("请str1输入中文语句:")
str2 = input("请str2输入中文语句:")
judge(str1,str2)
17.如何随机生成无数字的全字母的字符串
import random
import string
for i in range(0,random.randint(1,10)):
print(random.choice(string.ascii_letters),end="")
18.如何随机生成带数字和字母的字符串
import string
import random
s = string.ascii_letters + string.digits
s1 = ""
for i in range(1,20):
s1 += random.choice(s)
print(s1)
19.如何判定一个字符串中既有数字又有字母
def judge(sentence):
if sentence.isalnum() == True and sentence.isdigit() == False and sentence.isalpha() == False:
print("字符串中既有数字又有字母")
else:
print("不满足字符串中既有数字又有字母")
sentence = input("请输入字符串:")
judge(sentence)
20.字符串内的字符排序(只按字母序不论大小写)
def sort(sentence):
sentence = list(sentence.lower())
sentence.sort()
sentence = "".join(sentence)
print(sentence)
sentence = input("请输入全是字母的字符串(不论大小写):")
sort(sentence)
21.判断一个字符是否是回文字符串(面试题)
“1234567654321”
“上海自来水来自海上”
def is_plalindrome(content):
for i in range(len(content)//2):
if content[i] != content[len(content) - 1 - i]:
return False
return True
if __name__ == '__main__':
msg = "上海自来水来自海上"
res = is_plalindrome(msg)
if res:
print("是一个回文字符串")
else:
print("不是一个回文字符串")