文章目录
- 1、求第n项的斐波那契数列的值(n>=1)
- 2、小明考试非常好,妈妈为了奖励小明,给一对刚刚出生的兔子,
- 3、给定一个包含n+1个整数的数组nums,其数字在1到n之间(包含1和n),可知至少存在一个重复的整数,假设只有一个重复的整数,请找出这个重复的数
- 4、找出10000以内能被5或6整除,但不能被两者同时整除的数(函数)
- 7、请使用函数完成选择、冒泡、插入三种排序
- 8.根据完整的路径从路径中分离文件路径、文件名及扩展名
- 9.获取字符串中汉字的个数
- 10.将字母全部转换为大写或小写
- 11.根据标点符号对字符串进行分行
- 12.去掉字符串数组中每个字符串的空格
- 13.随意输入你心中想到的一个书名,然后输出它的字符串长度。 (len()属性:可以得字符串的长度)
- 14.两个学员输入各自最喜欢的游戏名称,判断是否一致,如果相等,则输出你们俩喜欢相同的游戏;如果不相同,则输出你们俩喜欢不相同的游戏。
- 15.上题中两位同学输入 lol和 LOL代表同一游戏,怎么办?
- 16.让用户输入一个日期格式如“2008/08/08”,将 输入的日期格式转换为“2008年-8月-8日”。
- 17.接收用户输入的字符串,将其中的字符进行排序(升序),并以逆序的顺序输出,“cabed”→"abcde"→“edcba”。
- 18.接收用户输入的一句英文,将其中的单词以反序输出,“hello c sharp”→“sharp c hello”。
- 19.从请求地址中提取出用户名和域名http://www.163.com?userName=admin&pwd=123456
- 20.有个字符串数组,存储了10个书名,书名有长有短,现在将他们统一处理,若书名长度大于10,则截取长度8的子串并且最后添加“...”,加一个竖线后输出作者的名字。
- 21.让用户输入一句话,找出所有"呵"的位置。
- 22.让用户输入一句话,找出所有"呵呵"的位置。
- 23.让用户输入一句话,判断这句话中有没有邪恶,如果有邪恶就替换成这种形式然后输出,如:“老牛很邪恶”,输出后变成”老牛很**”;
- 24.如何判断一个字符串是否为另一个字符串的子串
- 25.如何验证一个字符串中的每一个字符均在另一个字符串
- 26.如何随机生成无数字的全字母的字符串
- 27.如何随机生成带数字和字母的字符串
- 28.如何判定一个字符串中既有数字又有字母
- 29.字符串内的字符排序(只按字母序不论大小写)
- 30.判断一个字符是否是回文字符串(面试题)
- 31.磁盘遍历
1、求第n项的斐波那契数列的值(n>=1)
def fab(n):
if n==1 or n==2:
return 1
return fab(n-1)+fab(n-2)
print(fab(8))
2、小明考试非常好,妈妈为了奖励小明,给一对刚刚出生的兔子,
兔子可以经过四个月,可以长大称为成年的兔子,可以生育新的兔子,
假设成年兔子,每个月生一对小兔子,问,第n个月共有多少对兔子(加上兔子不死)
def rubbit(nums):
if nums<5:
return 1
return rubbit(nums-1)+rubbit(nums-4)
print("兔子的个数为:%s"%(rubbit(10)))
3、给定一个包含n+1个整数的数组nums,其数字在1到n之间(包含1和n),可知至少存在一个重复的整数,假设只有一个重复的整数,请找出这个重复的数
def ls(nums):
num1=0
for i in range(0,len(nums)):
num1 ^=i^nums[i]
return num1
num2=[1,2,3,4,5,5,6]
a=ls(num2)
print("重复的元素是:%s"%(a))
4、找出10000以内能被5或6整除,但不能被两者同时整除的数(函数)
def sum():
for i in range(1,10000):
if i % 5==0 or i % 6==0:
print("10000以内能被5或6整除的数为:%s"%(i))
sum()
## 5、写一个方法,计算列表所有偶数下标元素的和(注意返回值)
```csharp
ls=[1,2,3,4,5,6,7,8,9,10]
ls2=[]
def nums(ls):
for i in ls:
if i % 2 == 0:
ls2.append(i)
return sum(ls2)
print("所有偶数下标元素的和为:%s"%(nums(ls)))
7、请使用函数完成选择、冒泡、插入三种排序
def select_sort(List1):
ls1 = len(List1)
for j in range(ls1):
min_index = j
for i in range(min_index , ls1):
if List1[min_index] > List1[i]:
min_index = i
List1[j], List1[min_index] = List1[min_index], List1[j]
if __name__ == "__main__":
ls = [9 , 16, 17, 15, 11]
select_sort(ls)
print("选择排序后的元素为:%s"%(ls))
# 冒泡
def bubble_sort(List2):
n = len(List2)
for i in range(0, n - 1):
for j in range(0, n - i - 1):
if List2[j] > List2[j + 1]:
List2[j], List2[j + 1] = List2[j + 1], List2[j]
if __name__ == "__main__":
ls2 = [9 , 16, 17, 15, 11]
bubble_sort(ls2)
print("冒泡排序后的元素为:%s"%(ls2))
# 插入
def insert_sort(List3):
n = len(List3)
for i in range(n):
j = i
while j > 0:
if List3[j] < List3[j - 1]:
List3[j], List3[j - 1] = List3[j - 1], List3[j]
j -= 1
if __name__ == "__main__":
ls3=[9 , 16, 17, 15, 11]
insert_sort(ls3)
print("插入排序后的元素为:%s"%(ls3))
8.根据完整的路径从路径中分离文件路径、文件名及扩展名
import os
path="G:\Python\练习.txt"
dir,file=os.path.split(path)
dir,ext=os.path.splitext(path)
print("路径为:%s"%(dir))
print("文件名为:%s"%(file))
print("文件扩展名为:%s"%(ext))
9.获取字符串中汉字的个数
import string
hanzi=str(input("请输入您想要输入的汉字:"))
hanzi_number=num_number=char_number=space_number=other_number=0
for i in hanzi:
if i in string.ascii_letters:#中文字符
hanzi_number+=1
elif i.isdigit():#数字字符
num_number+=1
elif i.isspace():#空格
space_number+=1
elif i.isalpha():#英文单词
char_number+=1
else:
other_number+=1
print("英文字符有{},汉字字符有:{} 数字字符有:{} 空格有:{} 特殊字符有:{}".format(hanzi_number,char_number,num_number,space_number,other_number))
10.将字母全部转换为大写或小写
en=str(input("请输入英文:"))
en1=en.upper()
en2=en.lower()
print('转换成大写字母为%s'%(en1))
print('转换成小写字母为%s'%(en2))
11.根据标点符号对字符串进行分行
en="我想出去玩:但是我的作业!!真的,好多、好多,呜呜呜呜。。。。怎么办!!"
en1=en.split(":")
print(en1)
12.去掉字符串数组中每个字符串的空格
ls=["好好学习""天天向上""good good study""day day up"]
ls2=str(ls)
ls2.strip()
print("去掉字符串数组中每个字符串的空格为:%s"%(ls2))
13.随意输入你心中想到的一个书名,然后输出它的字符串长度。 (len()属性:可以得字符串的长度)
bookname=str(input('请输入您喜欢的书籍名称:'))
sums=0
for i in bookname:
sums+=1
print("这本书的字符串长度为%s"%(len(bookname)))
14.两个学员输入各自最喜欢的游戏名称,判断是否一致,如果相等,则输出你们俩喜欢相同的游戏;如果不相同,则输出你们俩喜欢不相同的游戏。
user1=str(input('user1请输入您最喜欢的游戏名称:'))
user2=str(input('user2请输入您最喜欢的游戏名称:'))
game=[]
if user1==user2:
game=user1=user2
print("user1和user2最喜欢的游戏名称为:%s"%(game))
else:
print("user1最喜欢的游戏名称为:%s"%(user1))
print("user2最喜欢的游戏名称为:%s"%(user2))
15.上题中两位同学输入 lol和 LOL代表同一游戏,怎么办?
user1=str(input('user1请输入您最喜欢的游戏名称:'))
user2=str(input('user2请输入您最喜欢的游戏名称:'))
user3=user1.upper()
user4=user2.upper()
if user1.isalpha() or user2.isalpha():
if user3==user4:
print("user1和user2最喜欢的游戏名称为:%s"%(user3))
else:
print("user1最喜欢的游戏名称为:%s"%(user1))
print("user2最喜欢的游戏名称为:%s"%(user2))
16.让用户输入一个日期格式如“2008/08/08”,将 输入的日期格式转换为“2008年-8月-8日”。
datetimes=input("请输入日期:格式如下:xx/xx/xx:")
dt1=datetimes.split("/")
print("您输入的时间为:%s"%(dt1))
y="{}年-{}月-{}日".format(dt1[0],int(dt1[1]),int(dt1[2]))
print("转换后的日期格式为:%s"%(y))
17.接收用户输入的字符串,将其中的字符进行排序(升序),并以逆序的顺序输出,“cabed”→"abcde"→“edcba”。
en=str(input("请输入英文:"))
ls=list(en)
print("转换后的顺序为:%s"%(ls))
ls.sort()
en1=''.join(ls)
en3=en1[::-1]
ls.reverse()
print("输出的顺序为:%s"%(en1))
print("输出的顺序为:%s"%(en3))
18.接收用户输入的一句英文,将其中的单词以反序输出,“hello c sharp”→“sharp c hello”。
en=str(input("请输入英文:"))
en1=en.split(" ")
en2=en1[::-1]
en1.reverse()
print('倒序后输出为:{}'.format(en1))
en3=" "
for i in range(len(en2)):
en3+=(en2[i]+" ")
print('倒序后输出为:{}'.format(en3))
19.从请求地址中提取出用户名和域名http://www.163.com?userName=admin&pwd=123456
http://www.163.com?userName=admin&pwd=123456
url="http://www.163.com?userName=admin&pwd=123456"
url[28:33]
url[0:18]
20.有个字符串数组,存储了10个书名,书名有长有短,现在将他们统一处理,若书名长度大于10,则截取长度8的子串并且最后添加“…”,加一个竖线后输出作者的名字。
ls=["法警队","世纪大和解","第三季度","实践活动","SDSSD","神鼎飞丹砂","大发发大发发发发阿发罚单收费","阿道夫","发哈东方航空","生地会考的还是"]
dir={"法警队":"123","世纪大和解":"456","第三季度":"789","实践活动":"1123","SDSSD":"11123","神鼎飞丹砂":"111213","大发发大发发发发阿发罚单收费":"xxxx","阿道夫":"zza123","发哈东方航空":"xas123","生地会考的还是":"dwqerew123"}
for i in range(0,len(ls)):
s=ls[i]
if len(s)>10:
s = s[0:9]+"..._"+str(dir[ls[i]])
ls[i]=s
print(ls)
21.让用户输入一句话,找出所有"呵"的位置。
user=str(input("请输入一句话并且带呵:"))
ls=[]
for i in range(0,len(user)):
if user[i]=="呵":
ls.append(i)
print("该句中所有呵的位置为:%s"%(ls))
22.让用户输入一句话,找出所有"呵呵"的位置。
user = input("请输入一句话并且带呵呵:")
ls = []
for i in range(0,len(user)-1):
if user[i] == "呵" and user[i+1] =="呵":
ls.append(i)
print("呵呵的位置是:{}".format(ls))
23.让用户输入一句话,判断这句话中有没有邪恶,如果有邪恶就替换成这种形式然后输出,如:“老牛很邪恶”,输出后变成”老牛很**”;
user = input("请输入一句话:")
for i in range(0,len(user)):
print("替换后的句子为:{}".format(user.replace("邪恶","**")))
24.如何判断一个字符串是否为另一个字符串的子串
find()
index()
双层循环完成
??
from sys import flags
ls1=str(input("请输入字符串:"))
ls2=str(input("请输入字符串:"))
flag=True
if ls1.find(ls2)!=-1:
flag=False
if flag:
print("字符串ls2在ls1内!!")
else:
print("字符串ls2不在ls1内!!")
25.如何验证一个字符串中的每一个字符均在另一个字符串
中出现过
双层循环
from sys import flags
ls1=str(input("请输入字符串:"))
ls2=str(input("请输入需要判断的字符串:"))
flag=True
for i in range(0,len(ls2)):
if ls1.find(ls2)!=-1:
flag=False
if flag:
print("字符串ls2在ls1内!!{}".format(ls2,ls1))
else:
print("字符串ls2不在ls1内!!{}".format(ls2,ls1))
26.如何随机生成无数字的全字母的字符串
import random
import string
s=string.ascii_letters
s1=""
for i in range(1,10):
s1+=random.choice(s)
print("无数字的全字母的字符串为:%s"%(s1))
27.如何随机生成带数字和字母的字符串
import random
import string
s=string.ascii_letters+string.digits
s1=""
for i in range(1,10):
s1+=random.choice(s)
print("无数字的全字母的字符串为:%s"%(s1))
28.如何判定一个字符串中既有数字又有字母
import string
user= input("输入一串字符串:")
if (user.isalnum()and not user.isalpha()) and not user.isdigit():
print("字符串{}里包含数字和字母".format(user))
else:
print("字符串{}里并不是既包含字母又包含数字".format(user))
29.字符串内的字符排序(只按字母序不论大小写)
user=str(input("请输入字符串:"))
s1 = user.lower()
ls = list(s1)
ls.sort()
s2 = " "
for i in range(0,len(ls)):
s2 += ls[i]
print("字符串的排序为:%s"%(s2))
30.判断一个字符是否是回文字符串(面试题)
"1234567654321"
"上海自来水来自海上"
# 回文:就是正着读和倒着读是一模一样的
s = input('请输入一个字符串:')
if not s:
print('请不要输入空字符串!')
s = input('请重新输入一个字符串:')
a = reversed(list(s))
if list(a) == list(s):
print('您所输入的字符串是回文')
else:
print('您所输入的字符串不是回文')
31.磁盘遍历
import os
def get_files(path):
# 判断路径是否存在,如果不存在,函数直接结束
if not os.path.exists(path):
print('路径不存在')
return
# 判断路径是否为文件夹
if not os.path.isdir(path):
print('路径是一个文件')
return
# 这时候,路径是一个文件夹
# 获取文件夹中文件或文件夹的名称
file_list = os.listdir(path)
# 遍历文件夹
for filename in file_list:
# 拼接路径,获取每个次级目录下的文件路径
subpath = os.path.join(path,filename)
if os.path.isfile(subpath):
if os.path.splitext(subpath)[1] == '.py':
print('python文件:{}'.format(subpath))
else:
# 如果filename是文件夹,则调用函数继续遍历
get_files(subpath)
get_files("G:\Python")