python第6-7轮作业--字符串,模块

news/2024/12/1 0:35:58/

1.求第n项的斐波那契数列的值(n>=1)

def number(figure):list1=[1]flag=0if figure==2:list1=[1,1]elif figure>2:list1 = [1, 1]for i in range(2,figure):x=list1[len(list1)-1] + list1[len(list1)-2]list1.append(x)print(list1)figure=int(input("请输入n(n>=1):"))
number(figure)

2. 将字母全部转换为大写或小写

def letter():a="abaafERGG"print(a.lower())print(a.upper())letter()

3.两个学员输入各自最喜欢的游戏名称,判断是否一致,如果相等,则输出你们俩喜欢相同的游戏;如果不相同,则输出你们俩喜欢不相同的游戏。

def judge(user1,user2):if user1==user2:print("你们俩喜欢相同的游戏")else:print("你们俩喜欢不相同的游戏")user1=input("输入喜欢的游戏名字:")
user2=input("输入喜欢的游戏名:")
judge(user1,user2)

4. 上题中两位同学输入 lol和 LOL代表同一游戏,怎么办?

def judge(user1,user2):if user1.upper()==user2.upper():print("你们俩喜欢相同的游戏")else:print("你们俩喜欢不相同的游戏")user1=input("输入喜欢的游戏名字:")
user2=input("输入喜欢的游戏名:")
judge(user1,user2)

5. 给定一个包含n+1个整数的数组nums,其数字在1到n之间(包含1和n),可知至少存在一个重复的整数,假设只有一个重复的整数,请找出这个重复的数

def finder():nums=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,12]nums.sort()for i in range(len(nums)-1):if nums[i]==nums[i+1]:print(nums[i])finder()

6. 找出10000以内能被5或6整除,但不能被两者同时整除的数(函数)

def judge():figure=[]for i in range(1,10001):figure.append(i)for i in figure:if i % 5 == 0 or i % 6 == 0:if i % 30 != 0:print(i,end=" ")judge()

7. 写一个方法,计算列表所有偶数下标元素的和(注意返回值)

def judge(figure):flag=0for i in range(len(figure)):if figure[i]%2==0:flag+=ireturn flaguser=input("请输入多个数字:")
figure=[]
for i in user:i=int(i)figure.append(i)
flag=judge(figure)
print(flag)

8. 请使用函数完成选择、冒泡、插入三种排序

#选择# 冒泡
def bubbling():figure=[4,8,6,45,498,65,32,75,47,84,456,31,17,18,13]for i in range(len(figure)):for j in range(i,len(figure)):if figure[i]>=figure[j]:figure[i],figure[j]=figure[j],figure[i]print(figure)bubbling()

9. 根据完整的路径从路径中分离文件路径、文件名及扩展名

import os.pathdef file(user):print("文件路径:",os.path.abspath(user))print("文件名:", os.path.basename(user))a, b = os.path.splitext(user)print("后缀名:",b)user=input("请输入文件路径:")
file(user)

10. 获取字符串中汉字的个数

def figure(user):dicter="qwertyuiopasdfghjklzxcvbnm123456789"flag=0for i in user:if i not in dicter:flag+=1print(flag)user=input("请输入字符串(含汉语):")
figure(user)

11. 将字母全部转换为大写或小写

def judge(user,n):if n==1:print(user.upper())elif n==2:print(user.lower())user=input("请输入字符串:")
n=int(input("1为大写,2为小写:"))
judge(user,n)

12. 根据标点符号对字符串进行分行

def judge(user):dicter=",.,。`·:;/、?|\\*"for i in user:if i in dicter:flag=iprint(user.split(flag))user=input("请输入字符串:")
judge(user)

13. 去掉字符串数组中每个字符串的空格

def judge(n):figure=[]flag=0for i in range(n):user=input("请输入字符串:")figure.append(user)print(figure)for i in range(len(figure)):for j in figure[i]:if j==" ":flag+=1     # 判断有一个字符串里有几个“ ”for j in range(flag):   # 字符串里有多少空格个就删除多少次figure[i]=list(figure[i])figure[i].remove(" ")figure[i]="".join(figure[i])flag=0print(figure)n=int(input("请输入字符串个数:"))
judge(n)

14. 随意输入你心中想到的一个书名,然后输出它的字符串长度。 (len()属性:可以得字符串的长度)

def judge(n):print(len(n))user=input("请输入书名:")
judge(user)

15. 两个学员输入各自最喜欢的游戏名称,判断是否一致,如果相等,则输出你们俩喜欢相同的游戏;如果不相同,则输出你们俩喜欢不相同的游戏。

def judge(student1,student2):if student1==student2:print("你们俩喜欢相同的游戏")else:print("你们俩喜欢不相同的游戏")student1=input("玩家一请输入游戏名:")
student2=input("玩家二请输入游戏名:")
judge(student1,student2)

16. 两个学员输入各自最喜欢的游戏名称,判断是否一致,如果相等,则输出你们俩喜欢相同的游戏;如果不相同,则输出你们俩喜欢不相同的游戏。

两位同学输入 lol和 LOL代表同一游戏,怎么办?

def judge(student1,student2):if student1.upper()==student2.upper():print("你们俩喜欢相同的游戏")else:print("你们俩喜欢不相同的游戏")student1=input("玩家一请输入游戏名:")
student2=input("玩家二请输入游戏名:")
judge(student1,student2)

17. 让用户输入一个日期格式如“2008/08/08”,将 输入的日期格式转换为“2008年-8月-8日”。

import timedef transition(user):date=time.strptime(user, "%Y/%m/%d")print(f"{date.tm_year}年-{date.tm_mon}月-{date.tm_mday}日")user=input("请输入日期(格式如2008/08/08):")
transition(user)

18. 接收用户输入的字符串,将其中的字符进行排序(升序),并以逆序的顺序输出,“cabed”→"abcde"→“edcba”。

def transition(user):user=list(user)user.sort()user.reverse()user="".join(user)print(user)user=input("请输入字符串:")
transition(user)

19. 接收用户输入的一句英文,将其中的单词以反序输出,“hello c sharp”→“sharp c hello”。

def transition(user):user=user.split(" ")# 以空格作为分隔符,分割字符串user.reverse()for i in range(1,len(user)+1,2):    # 在user的偶数位插入空格user.insert(i," ")user="".join(user)print(user)user=input("请输入字符串:")
transition(user)

20. 有个字符串数组,存储了10个书名,书名有长有短,现在将他们统一处理,若书名长度大于10,则截取长度8的子串并且最后添加“…”,加一个竖线后输出作者的名字

def judge():name=["烂柯棋源|真费事","我一个史莱姆吊打巨龙很合理吧|三凤11","大王饶命|会说话的肘子","穿越诸天从大王饶命开始|丘大王的娘","大奉打更人|买报小郎君",\"夜的命名术|会说话的肘子","不科学御兽|轻泉流响","完美世界|辰东","遮天|辰东","逆天邪神|火星引力"]for i in range(0,10):if name[i].find("|")>10:for j in range(8,name[i].find("|")):name[i]=list(name[i])name[i].pop(8)      # 只能写8不能写j,每一次循环后列表顺序会变,得固定一个位置写。name[i].insert(8,"...")name[i] = "".join(name[i])print(name)judge()

21. 让用户输入一句话,找出所有"呵"的位置。

def judge(user):user = list(user)for i in range(len(user)):if user[i]=="呵":print(i,end=",")user="".join(user)user=input("请输入中文语句:")
judge(user)

22.让用户输入一句话,找出所有"呵呵"的位置。

def judge(user):user = list(user)for i in range(len(user)-1):if user[i]==user[i+1]:print(i,end=",")user="".join(user)user=input("请输入中文语句:")
judge(user)

23. 让用户输入一句话,判断这句话中有没有邪恶,如果有邪恶就替换成这种形式然后输出,如:“老牛很邪恶”,输出后变成”老牛很**”

def judge(user):print(user.replace("邪恶","**"))user=input("请输入中文语句:")
judge(user)

24.如何判断一个字符串是否为另一个字符串的子串

def judge(user1,user2):#判断user1是否为user2的子串if user2.find(user1) != -1:print("user1是为user2的子串")else:print("user1不为user2的子串")user1=input("请user1输入中文语句:")
user2=input("请user2输入中文语句:")
judge(user1,user2)

25.如何验证一个字符串中的每一个字符均在另一个字符串中出现过

双层循环
def judge(user1,user2):#判断user1中的每一个字符是否在user2中出现过user2=set(user2)user2="".join(user2)flag=0for i in user1:for j in user2:if i==j:flag+=1if flag==len(user1):print("user1中的每一个字符在user2中出现过")else:print("user1中的有字符不在user2中出现过")user1=input("请user1输入中文语句:")
user2=input("请user2输入中文语句:")
judge(user1,user2)

26.如何随机生成无数字的全字母的字符串

import randomdef sentence(n):figure=[]for i in range(n):letter = random.choice("qwertyuiopasdfghjklzxcvbnm")figure.append(letter)figure="".join(figure)print(figure)n=int(input("请输入字符串个数:"))
sentence(n)

27.如何随机生成带数字和字母的字符串

import randomdef sentence(n):figure=[]for i in range(n):letter = random.choice("qwertyuiopasdfghjklzxcvbnm1234567890")figure.append(letter)figure="".join(figure)print(figure)n=int(input("请输入字符串个数:"))
sentence(n)

28.如何判定一个字符串中既有数字又有字母

def judge(sentence):if sentence.isalnum()==True and sentence.isdigit()==False and sentence.isalpha()==False:print("字符串中既有数字又有字母")else:print("未通过判断")sentence=input("请输入字符串:")
judge(sentence)

29.字符串内的字符排序(只按字母序不论大小写)

def sorter(sentence):sentence=list(sentence.lower())sentence.sort()sentence="".join(sentence)print(sentence)sentence=input("请输入多个字母(不论大小写):")
sorter(sentence)

30.判断一个字符是否是回文字符串(面试题)

"1234567654321"
"上海自来水来自海上"
def judge(sentence):if sentence==sentence[::-1]:print("是回文字符串")else:print("不是回文字符串")sentence=input("请输入字符串:")
judge(sentence)

*31. 小明考试非常好,妈妈为了奖励小明,给一对刚刚出生的兔子,兔子可以经过四个月,可以长大称为成年的兔子,可以生育新的兔子,假设成年兔子,每个月生一对小兔子,问,第n个月共有多少对兔子(加上兔子不死)

def rubbit(nums):if nums<5:return 1return rubbit(nums-1)+rubbit(nums-4)
def main():nums = int(input("请输入共养几个月: "))result = rubbit(nums)print("结果为%d"%result)
if __name__=='__main__':main()

32. 从请求地址中提取出用户名和域名

http://www.163.com?userName=admin&pwd=123456



*33. 磁盘遍历

import os
from os import pathdef scanner_file(url):"""指定path路径,遍历该路径下所有文件和文件夹将所有文件都打印显示出来(显示绝对路径)"""dir_list = os.listdir(url)for filename in dir_list:# real_url = url + os.sep + filenamereal_url = path.join(url, filename)if path.isfile(real_url):print(path.abspath(real_url)) and real_url.endswith(".py")elif path.isdir(real_url):scanner_file(real_url)
if __name__ == '__main__':scanner_file("E:/")

*34. 某个人进入如下一个棋盘中,要求从左上角开始走,最后从右下角出来(要求只能前进,不能后退),

问题:共有多少种走法?0 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 0checkerboard = [[0, 0, 0, 0, 0, 0, 0, 0][0, 0, 0, 0, 0, 0, 0, 0][0, 0, 0, 0, 0, 0, 0, 0][0, 0, 0, 0, 0, 0, 0, 0][0, 0, 0, 0, 0, 0, 0, 0][0, 0, 0, 0, 0, 0, 0, 0]
]
def board(arr):if arr is None:return 0if len(arr) == 1 and len(arr[0]) == 1:return 1for i in range(len(arr[0])):arr[0][i] = 1for i in range(len(arr)):arr[i][0] = 1for i in range(1, len(arr)):for j in range(1, len(arr[0])):arr[i][j] = arr[i - 1][j] + arr[i][j - 1]return arr[len(arr) - 1][len(arr[0]) - 1]
if __name__ == '__main__':ls = [[0, 0, 0, 0, 0, 0, 0, 0],[0, 0, 0, 0, 0, 0, 0, 0],[0, 0, 0, 0, 0, 0, 0, 0],[0, 0, 0, 0, 0, 0, 0, 0],[0, 0, 0, 0, 0, 0, 0, 0],]count = board(ls)print(f"从左上角开始走,到右下角,共有{count}种走法")


http://www.ppmy.cn/news/423117.html

相关文章

第八届蓝桥杯国赛Java b组 第五题

标题&#xff1a;填字母游戏 小明经常玩 LOL 游戏上瘾&#xff0c;一次他想挑战K大师&#xff0c;不料K大师说&#xff1a; “我们先来玩个空格填字母的游戏&#xff0c;要是你不能赢我&#xff0c;就再别玩LOL了”。 K大师在纸上画了一行n个格子&#xff0c;要小明和他交替往…

关于数据仓库那点事,一文捋清

借助海量的数据&#xff0c;企业进行了深层次的数字化改革&#xff0c;把数据当成了企业发展的核心&#xff0c;但无效的数据即使规模再大&#xff0c;也对企业没有意义&#xff0c;所以数据质量也就愈发重要。 数据仓库 事实上&#xff0c;很多人在看到数据仓库的第一眼&…

Linux三剑客和正则表达式的应用

bash是什么 bash是一个命令处理器&#xff0c;运行在文本窗口中&#xff0c;并能执行用户直接的命令 bash还能从文件中读取Linux命令&#xff0c;称之为脚本 bash支持通配符、管道、命令替换、条件判断等逻辑控制语句 bash的特性 命令行展开 {}bash的命令行展开echo {tom,bob,c…

蓝桥杯2017国赛JAVAB组 填字母游戏 题解

标题&#xff1a;填字母游戏 小明经常玩 LOL 游戏上瘾&#xff0c;一次他想挑战K大师&#xff0c;不料K大师说&#xff1a;“我们先来玩个空格填字母的游戏&#xff0c;要是你不能赢我&#xff0c;就再别玩LOL了”。 K大师在纸上画了一行n个格子&#xff0c;要小明和他交替往其…

别这样直接运行Python命令,否则电脑等于“裸奔”

Python已经成为全球最受欢迎的编程语言之一。原因当然是Python简明易用的脚本语法,只需把一段程序放入.py文件中,就能快速运行。 而且Python语言很容易上手模块。比如你编写了一个模块my_lib.py,只需在调用这个模块的程序中加入一行import my_lib即可。 这样设计的好处是,…

第八届蓝桥杯国赛 Java B组 第五题 标题:填字母游戏

小明经常玩 LOL 游戏上瘾&#xff0c;一次他想挑战K大师&#xff0c;不料K大师说&#xff1a; “我们先来玩个空格填字母的游戏&#xff0c;要是你不能赢我&#xff0c;就再别玩LOL了”。K大师在纸上画了一行n个格子&#xff0c;要小明和他交替往其中填入字母。并且&#xff1a…

蓝桥-填字母游戏

求解填字母游戏 【问题描述】 小明经常玩 LOL 游戏上瘾&#xff0c;一次他想挑战K大师&#xff0c;不料K大师说&#xff1a;“我们先来玩个空格填字母的游戏&#xff0c;要是你不能赢我&#xff0c;就再别玩LOL了”。  K大师在纸上画了一行n个格子&#xff0c;要小明和他交替…

wps文字退格会删掉文字_wps文档中第一行字后面有很多空格,可是第二行就是上不来,按删除键就会把第一行字删了,为什么...

wps文档中第一行字后面有很多空格,可是第二行就是上不来,按删除键就会把第一行字删了,为什么 如果下一行文字是一个整体,上一行行末放不下这个整体内容,就会出现这种情况。 选中,右击,段落,换行和分页,勾选“允许西文在单词中间换行”。 WORD中,第二行前面有很多空格,…