1、给定一个包含n+1个整数的数组nums,其数字在1到n之间(包含1和n),
可知至少存在一个重复的整数,假设只有一个重复的整数,请找出这个重复的数
def find_difnumber(ls):
for index in range(0,len(ls)):
for num in range(index+1,len(ls)):
if ls[index] == ls[num]:
print(f"{ls[index]}这个数字出现了重复")
ls = [1,6,2,3,5,4,9,7,8,15,36,35,98,65,48,78,18,25,35,2,5]
find_difnumber(ls)
2、找出10000以内能被5或6整除,但不能被两者同时整除的数(函数)
def find_number():
for number in range(0,10000):
if number % 5 == 0 or number % 6 == 0:
if number % 5 != number % 6:
ls.append(number)
print(ls)
ls = []
find_number()
3、写一个方法,计算列表所有偶数下标元素的和(注意返回值)
def count_even():
count = 0
for index in range(0,len(ls)):
if ls[index] % 2 == 0:
count += index
print(count)
ls = [11,99,68,48,25,23,49,57,56,15,12]
count_even()
4、请使用函数完成选择、冒泡、插入三种排序
def bubble_sort(alist):
n=len(alist)
for i in range(n-1):
count=0
for j in range(0,n-1-i):
if alist[j]>alist[j+1]:
alist[j],alist[j+1]=alist[j+1],alist[j]
count+=1
if count==0:
break
if __name__ == '__main__':
li=[5,4,2,3,1]
print(li)
bubble_sort(li)
print(li)
def select_srot(alist):
n=len(alist)
for i in range(n-1):
min=i
for j in range(i+1,n):
if alist[min]>alist[j]:
min=j
alist[i],alist[min]=alist[min],alist[i]
if __name__ == '__main__':
li=[5,4,2,3,1]
print(li)
select_srot(li)
print(li)
def inser_srot(alist):
n=len(alist)
for i in range(1,n):
j=i
while j>0:
if alist[j]<alist[j-1]:
alist[j],alist[j-1]=alist[j-1],alist[j]
j-=1
else:
break
if __name__ == '__main__':
li=[5,4,3,2,1]
print(li)
inser_srot(li)
print(li)
5、根据完整的路径从路径中分离文件路径、文件名及扩展名
def get_houzhui(s):
print("后缀名是:",s[s.rfind(".")+1:])
s = input("请输入需要获取文件后缀的路径:")
get_houzhui(s)
6、获取字符串中汉字的个数
string = input()
ch = 0
for x in string:
if x.isalpha() or '\u4e00' <= x <= '\u9fff':
ch+=1
print(ch)
7、将字母全部转换为大写或小写
def change_letter():
print(ls.upper())
print(ls.lower())
ls = []
ls = str(input("请输入英文单词:"))
change_letter()
8、根据标点符号对字符串进行分行
ls = "今天的天气很好,阳光明媚,看见这样的心情都变好了很多!"
lis = ls.replace(",","\n")
print(lis)
9、去掉字符串数组中每个字符串的空格
ls = "今天的天气很 好 , 阳 光 明 媚 , 看见这 样的 心情 都变好 了很 多!"
lis = ls.replace(" ","")
print(lis)
10、随意输入你心中想到的一个书名,然后输出它的字符串长度。 (len()属性:可以得字符串的长度)
book_name = str(input("请输入你心仪的书名:"))
print(len(book_name))
11、两个学员输入各自最喜欢的游戏名称,判断是否一致,如
果相等,则输出你们俩喜欢相同的游戏;如果不相同,则输
出你们俩喜欢不相同的游戏。
A = str(input("A同学喜欢的游戏名称:"))
B = str(input("B同学喜欢的游戏名称:"))
if A == B:
print(A)
else:
print(A)
print(B)
12、上题中两位同学输入 lol和 LOL代表同一游戏,怎么办?
def get_A():
A = str(input("A同学喜欢的游戏名称:"))
return A.upper
def get_B():
B = str(input("B同学喜欢的游戏名称:"))
return B.upper
def compare_game():
if game1 == game2:
print(game1)
else:
print(game1)
print(game2)
game1 = get_A()
game2 = get_B()
compare_game()
13、让用户输入一个日期格式如“2008/08/08”,将 输入的日
期格式转换为“2008年-8月-8日”。
time_number = str(input("请输入时间如“2008/08/08”:"))
time = time_number.split("/")
print(f"{time[0]}-{time[1]}-{time[2]}")
14、接收用户输入的字符串,将其中的字符进行排序(升
序),并以逆序的顺序输出,“cabed”→"abcde"→“edcba”。
def get_along():
for index in range(0,len(along_number)):
print(along_number[index],end="")
print("\n")
def get_inverse():
for index in range(0,len(inverse_number)):
print(inverse_number[index],end="")
ls = "cabed"
ls1 = list (ls)
along_number = sorted(ls1)
inverse_number = sorted(ls1,reverse = True)
get_along()
get_inverse()
15、接收用户输入的一句英文,将其中的单词以反序输
出,“hello c sharp”→“sharp c hello”。
ls = "hello c sharp"
ls1 = ls.split(" ")
ls2 = ls1[::-1]
ls3 = " ".join(ls2)
print(ls3)
16、从请求地址中提取出用户名和域名
http://www.163.com?userName=admin&pwd=123456
ls = "http://www.163.com?userName=admin&pwd=123456"
ls2 = ls.split("?")
for i in range(0,2):
print(ls2[i])
17、有个字符串数组,存储了10个书名,书名有长有短,现
在将他们统一处理,若书名长度大于10,则截取长度8的
子串并且最后添加“...”,加一个竖线后输出作者的名字。
ls = ["瓦尔登湖","小王子","沉思录","活着","红楼梦","资本论","假如给我三天光明","了不起的盖茨比","我重生这个世界上获得未来的一切记忆之统治世界"]
dit = {"瓦尔登湖":"梭罗","小王子":"圣埃克苏佩里","沉思录":"马可·奥勒留","活着":"余华","红楼梦":"曹雪芹","资本论":"马克思","假如给我三天光明":"海伦·凯勒","哈姆雷特":"莎士比亚","了不起的盖茨比":"弗·司各特·菲茨杰拉德","我重生这个世界上获得未来的一切记忆之统治世界":"李华"}
for index in range(0,len(ls)):
lon = ls[index]
if len(lon) > 10:
lon = lon[0:9] + "..._" + str(dit[ls[index]])
ls[index] = lon
print(ls)
18、让用户输入一句话,找出所有"呵"的位置。
ls = list(str(input("请输入你想要说的话:")))
dit = "呵"
for index in range(0,len(ls)):
if dit == ls[index]:
print(index)
19、让用户输入一句话,找出所有"呵呵"的位置。
ls = list(str(input("请输入你想要说的话:")))
dit = "呵"
for index in range(0,len(ls)):
if dit == ls[index]:
if dit == ls[index + 1]:
print(index)
20、让用户输入一句话,判断这句话中有没有邪恶,如果有邪
恶就替换成这种形式然后输出,如:“老牛很邪恶”,输出后变
成”老牛很**”;
ls = "老牛很邪恶"
ls1 = ls.replace("邪恶","**")
print(ls1)
21、如何判断一个字符串是否为另一个字符串的子串
find()
index()
双层循环完成
??
def find_character(ls,ls1):
if ls.find(ls1) >= 0:
print("是另一个子集")
else:
print("并不是另一个子集")
ls = "今天的天气阳光明媚,抬头望向天空,晴空万里真是beautiful,do you think?"
ls1 = "兄弟" #"晴空万里"
find_character(ls,ls1)
22、如何验证一个字符串中的每一个字符均在另一个字符串
中出现过
双层循环
ls = "今天的天气阳光明媚,抬头望向天空,晴空万里真是beautiful,do you think?"
list_ls = list(ls)
ls1 = list(["今","万","天","b"])
for index in range(0,len(ls1)):
for i in range(0,len(list_ls)):
if ls1[index] == list_ls[i]:
print(f"{ls1[index]}存在ls1中")
else:
pass
23、如何随机生成无数字的全字母的字符串
import random
number = int(input("请输入你想要多少个字母的字符串"))
for i in range(0,number):
letter = random.randrange(65,122)
if 65 <= letter < 91 or 97 <= letter < 123:
print("%c"%(letter),end="")
else:
pass
24、如何随机生成带数字和字母的字符串
import random
number = int(input("请输入你想要多少个字符的字符串"))
for i in range(0,number):
flag = random.randrange(0,2)
if flag:
letter = random.randrange(65,122)
if 65 <= letter < 91 or 97 <= letter < 123:
print("%c"%(letter),end="")
else:
pass
else:
num = random.randrange(0,51)
print(num,end="")
25、如何判定一个字符串中既有数字又有字母
ls = "sdjijafj1615daf5d4ds6f8sd4f"
if ls.isalnum:
if ls.isalpha:
print("这个字符串即存在数字又存在字母")
else:
print("这个字符春不存在")
26、字符串内的字符排序(只按字母序不论大小写)
ls = "aUHKNhugbYVyyfRViinnOMf"
ls1 = list(ls)
new_list = sorted(ls1,reverse = False)
print(new_list)
27、判断一个字符是否是回文字符串(面试题)
"1234567654321"
"上海自来水来自海上"
ls = str(input("请输入你人文的回文字符串"))
ls2 = ls[::-1]
print(ls2)
if ls == ls2:
print("这是一个回文字符串")
else:
print("这不是")