import random
defcreatls():
lst =[]
a =int(input('请输入开始区间数:'))
b =int(input('请输入结束区间数:'))
c =int(input('请输入列表长度:'))print('生成的列表为:')for i inrange(1,c+1):
j = random.randint(a,b)
lst.append(j)print(lst)return lst
defquchong(lst):returnlist(set(lst))deffindrept():
list1 = creatls()
list2 = list1.copy()
list2 =list(map(str,list2))
list3 =[]print('转换成字符的列表为:\n',list2)print('重复的元素有:')for i inrange(0,len(list2)-1):if list2.count(list2[i])>=2:
list3.append(int(list2[i]))print(quchong(list3))
findrept()
二、10000以内只被5、6两个数字整除的数
defchushu():for i inrange(1,10001):if(i%5==0and i%6==0):
i +=1if(i %5==0or i %6==0):print(i)
chushu()
三、列表偶数下标之和
import random
defcreatls():
lst =[]
a =int(input('请输入开始区间数:'))
b =int(input('请输入结束区间数:'))
c =int(input('请输入列表长度:'))print('生成的列表为:')for i inrange(1,c+1):
j = random.randint(a,b)
lst.append(j)print(lst)return lst
deftest():
list1 = creatls()sum=0print('偶数下标之和为:')for i inrange(0,len(list1)-1):if list1[i]%2==0:sum=sum+ i
returnsumprint(test())
四、三种排序函数实现
import random
defcreatls():
lst =[]
a =int(input('请输入开始区间数:'))
b =int(input('请输入结束区间数:'))
c =int(input('请输入列表长度:'))print('生成的列表为:')for i inrange(1,c+1):
j = random.randint(a,b)
lst.append(j)print(lst)return lst
ls = creatls()defbubble_sort(ls):
seq = ls
print('冒泡')for i inrange(len(seq)-1):for j inrange(len(seq)-i-1):if seq[j]> seq[j+1]:# 相邻两数比较,大数后移
seq[j], seq[j+1]= seq[j+1], seq[j]return seq
defselection_sort(ls):
seq = ls
print('选择')for i inrange(len(seq)-1):for j inrange(i+1,len(seq)):if seq[i]> seq[j]:
seq[i], seq[j]= seq[j], seq[i]return seq
definsert_sort(seq):print('插入')for i inrange(1,len(seq)):
val = seq[i]
idx = i
while val < seq[idx-1]and idx >0:
seq[idx], seq[idx-1]= seq[idx-1], val
idx -=1return seq
print(bubble_sort(ls))print(selection_sort(ls))print(insert_sort(ls))
五、分离文件路径、文件名、扩展名
s ="D:\yunjisuan\python\python基础课件资料.zip"##根据特性切割再组合
ls = s.split("\\")
ls1 = s.split(".")
s1 =""
s2 = ls[len(ls)-1]
s3 = ls1[len(ls1)-1]for i inrange(0,len(ls)-1):
s1 += ls[i]+"\\"print("文件的路径是:{},文件名字是:{},扩展名是:{}".format(s1,s2,s3))##使用切片方式
s ="D:\yunjisuan\python\python基础课件资料.zip"
s2 = s[0:s.rfind("\\")+1]
s3 = s[s.rfind("\\")+1:]
s4 = s[s.rfind(".")+1:]print("文件的路径是:{},文件名字是:{},扩展名是:{}".format(s2,s3,s4))
六、统计中文字数
s =input("请输入判断的字符串:")##利用编码范围判断!
count =0for i in s:if0x4E00<=ord(i)<=0x9FA5:
count +=1print(count)
七、将字符全部转化为大写或小写
s =input("请输入字符串:")print("该字符串字母全部转为大写是:",s.upper())print("该字符串字母全部转为小写是:",s.lower())
八、根据标点符号对字符串进行分行
s =input("输入")for i inrange(0,len(s)):if s[i]=="."or s[i]==","or s[i]=="!"or s[i]==";":print("")else:print(s[i],end ="")
九、去掉字符串数组中每个字符串的空格
ls =["adak dkad ","alkdwak adla ","adak adlaw "]
ls1 =[]for i inrange(0,len(ls)):
ls1.append(ls[i].replace(" ",""))print(ls1)
十、输出字符串长度
s =input("你喜欢的书名:")print("{}的书名长度是{}".format(s,len(s)))
ls =["我的世界冲冲冲啊冲啊啊","遥远的老天爷","红尘往市不在回首嘿嘿黑","活着","白鹿原之青青草原112"]##10个书名太多了,我只存了几个dir={"我的世界冲冲冲啊冲啊啊":"xuhaoo","遥远的老天爷":"haoboxu","红尘往市不在回首嘿嘿黑":"xuahobo","活着":"haobo","白鹿原之青青草原112":"hahah"}for i inrange(0,len(ls)):
s = ls[i]iflen(s)>10:
s = s[0:9]+"..._"+str(dir[ls[i]])
ls[i]= s
print(ls)
十八、找出所有特定字符位置
s =input("请输入一段话!")
ls =[]for i inrange(0,len(s)):if s[i]=="呵":
ls.append(i)print("呵的位置是:{}".format(ls))
十九、找出所有特定字符串位置
s =input("请输入一段话!")
ls =[]for i inrange(0,len(s)-1):if s[i]=="呵"and s[i+1]=="呵":
ls.append(i)print("呵呵的位置是:{}".format(ls))##也可以直接index(“呵呵”)
二十、字符替换
s =input("请输入字符串:")print("邪恶消失后:{}".format(s.replace("邪恶","**")))
二十一、判断一个字符串是否为另一个字符串的子串
s =input("请输入字符串A:")
s1 =input("请输入需要判断的字符串B:")
flag =Trueif s.find(s1)!=-1:
flag =Falseif flag:print("字符串B{}不在A{}内".format(s1,s))else:print("字符串B{}在A{}内".format(s1,s))
二十二、验证一个字符串中的每一个字符均在另一个字符串中出现过
s =input("请输入字符串A:")
s1 =input("请输入需要判断的字符串B:")
flag =Truefor i inrange(0,len(s1)):if s.find(s1[i])==-1:
flag =Falseif flag:print("字符串B{}的所有元素在A{}内".format(s1,s))else:print("字符串B{}不是所有元素都在A{}内".format(s1,s))
二十三、随机生成无数字的全字母的字符串
import string
import random
s = string.ascii_letters
s1 =""for i inrange(1,20):
s1 += random.choice(s)print(s1)
二十四、随机生成带数字和字母的字符串
import string
import random
s = string.ascii_letters + string.digits ##前为生成字母,后为生成数字
s1 =""for i inrange(1,20):
s1 += random.choice(s)print(s1)
二十五、判定一个字符串中既有数字又有字母
import string
s =input("输入需要判断的字符串:")if(s.isalnum()andnot s.isalpha())andnot s.isdigit():print("字符串{}里包含数字和字母".format(s))else:print("字符串{}里并不是既包含字母又包含数字".format(s))
二十六、字符串内的字符排序(只按字母序不论大小写)
s =input("请输入字符串")
s1 = s.upper()
ls =list(s1)
ls.sort()
s2 =""for i inrange(0,len(ls)):
s2 += ls[i]print(s2)
二十七、判断一个字符串是否是回文字符串(面试题)
defis_palindrome_1(tmp_str):for i inrange(len(tmp_str)):if tmp_str[i]!= tmp_str[-(i+1)]:returnFalsereturnTrueprint(is_palindrome_1('123321'))