python第七天

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("这不是")

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值