Python第六天作业

Python第六天作业

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

print("斐波那契数列")
num = int(input("请输入要求的第n项:"))
n1 = 1
n2 = 0
s = 1
for i in range(2,num+1):
	s = n1 + n2
	n2 = n1
	n1 = s
print(f"第{num}个的数字为{s}")

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

def rabbit(m):
	if m <= 2:
		return 1
	else:
		return rabbit(m - 1)+rabbit(m - 2)
month = int(input("请输入月份:"))
print("%d月后兔子的数量为%d对"%(month,rabbit(month)))

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

def number():
	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,9,6,3,0,78,36,7,89]
number()

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

def zc():
	for i in range(0,10001):
		if i % 5 == 0 or i % 6 == 0:
			if i % 5 != i % 6:
				ls.append(i)
	print(ls)

ls = []

zc()

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

def oushu():
	count = 0
	for index in range(0,len(ls)):
		if ls[index] % 2 == 0:
			count += index
	print(count)
ls = [78,56,4,97,57,3,46,27,11]
oushu()

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

import os
import os.path
def separate():
	path_name = os.path.abspath("作业8分离路径.py")
	print(path_name)
	(filepath, tempfilename) = os.path.split(path_name)
	(filename, extension) = os.path.splitext(tempfilename)
	print(filename)
	print(extension)
 
separate()

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

def chinese():
	count = 0
	for index in range(0,len(ls)):
		if ls[index] >= '\u4e00' or ls[index] <= '\u9fa5':
			count += 1 
	print(f"这句话中有{count}个汉字")

ls = str(input("请输入你想说的话:"))
chinese()

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

def change():
	print(ls.upper())
	print(ls.lower())


ls = []
ls = str(input("请输入你要转换的英文:"))
change()

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

def fh():
	ls1 = ls.replace(",","\n")
	print(ls1)

ls = []
ls = str(input("请输入你的语句:"))
fh()

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

def kg():
	ls1 = ls.replace(" ","")
	print(ls1)

ls = []
ls = str(input("请输入你的语句:"))
kg()

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

def book():
	book_name = str(input("请输入你的书名:"))
	print("书名长度为:",len(book_name))

book()

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

def game():
	student_A = str(input("学员A喜欢的游戏是:"))
	student_B = str(input("学员B喜欢的游戏是:"))

	if student_A == student_B:
		print("两位学员喜欢的游戏一样")
		print(student_A)
	else:
		print("两位学员喜欢的游戏不一样")
		print(f"学员A喜欢的游戏是:{student_A}")
		print(f"学员B喜欢的游戏是:{student_B}")

game()

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

def get_A():
	A = str(input("学员A喜欢的游戏是:"))
	return A.upper()
def get_B():
	B = str(input("学员B喜欢的游戏是:"))
	return B.upper()

def game():

	if student_A == student_B:
		print("两位学员喜欢的游戏一样")
		print(student_A)
	else:
		print("两位学员喜欢的游戏不一样")
		print(f"学员A喜欢的游戏是:{student_A}")
		print(f"学员B喜欢的游戏是:{student_B}")

student_A = get_A()
student_B = get_B()

game()

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

def time():
	time_number = str(input("请输入时间如“2008/08/08”:"))
	time_change = time_number.split("/")
	print(f"{time_change[0]}-{time_change[1]}-{time_change[2]}")

time()

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

inui = input("请输入字符串:")
toko = list(inui)
toko.sort()
toko.reverse()
inui = ''.join(toko)
print(inui)

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

def inui():
	ls = "hello c sharp"
	ls1 = ls.split(" ")
	ls2 = ls1[::-1]
	ls3 = " ".join(ls2)
	print(ls3)

inui()

19.从请求地址中提取出用户名和域名
http://www.163.com?userName=admin&pwd=123456

url = 'http://www.163.com?userName=admin&pwd=123456'
user0 = url.split("?",1)
user = ''.join(user0[1])
user0 = user.split("&",1)
username0 = ''.join(user0[0])
pwd0 = ''.join(user0[1])
username = username0.split("=",1)
pwd = pwd0.split("=",1)
print("userName=",end='')
print(username[1])
print("password=",end='')
print(pwd[1])

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

book = ["数据库技术学习指导书","丁宝康"],["Access 21数据库应用实训教程","黄秀娟"],["网页设计与制作","李云程"],["C#程序设计","李德奇"],["数据库基础--基于MS Access的数据库设计","沈祥玖"],["软件测试","赵瑞莲"],["软件人机界面设计","陈启安"],["关系数据库与SQL语言","黄旭明"],["局域网创建与维护案例教程","陈承欢"],["软件工程概论","陶华亭"]
for i in range(0,len(book)):
	if len(book[i][0]) > 10:
		book[i][0] = book[i][0][:10] + "..."
	print(book[i][0]+"|"+book[i][1])

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

def he():
	ls = str(input("请输入你想要说的话:"))
	dit = "呵"
	for index in range(0,len(ls)):
		if dit == ls[index]:
			print(index)

he()

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

def he():
	ls = str(input("请输入你想要说的话:"))
	dit = "呵"
	for index in range(0,len(ls)-1):
		if dit == ls[index]:
			if dit == ls[index + 1]:
				print(index)

he()

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

def zfc():
	ls1 = ls.replace("邪恶","**")
	print(ls1)

ls = []
ls = str(input("请输入你的语句:"))
zfc()

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

def find_zfc(ls,ls1):
	if ls.find(ls1) >= 0:
		print(f"({ls1})  是  ({ls})   的子串")
	else:
		print("不是字串")

ls = "我的好兄弟"
ls1 = "兄弟"
find_zfc(ls,ls1)

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

def find_zfc(ls):
	list_ls = list(ls)
	ls1 = list(["兄","好"])
	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]}存在ls中")
			else:
				pass


ls = "我的好兄弟"
find_zfc(ls)

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

import random
a = int(input("请输入字符串长度:"))
inui = ''
for i in range(0,a):
	ran = random.randint(1,3)
	if ran == 1:
		ran1 = random.randint(48,57)
	elif ran == 2:
		ran1 = random.randint(65,90)
	else:
		ran1 = random.randint(97,122)
	inui = inui + chr(ran1)
print(inui)


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

import random
a = int(input("请输入字符串最低长度:"))
inui = ''
b = 0
c = 0
i = 0
while b == 0 or c == 0 or i < a:
	ran = random.randint(37,255)
	inui = inui + chr(ran)
	if ran >= 48 and ran <= 57:
		b = 1
	if ran >= 65 and ran <= 90 or ran >= 97 and ran <= 122:
		c = 1
	i += 1
print(inui)

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

inui = input("请输入一个字符串进行判断:")
x = 0
a1 = 0
a2 = 0
a3 = 0
for i in range(0,len(inui)):
	a = ord(inui[i])
	if a >= 48 and a <= 57 and a1 == 0:
		x += 1
		a1 += 1
	if a >= 65 and a <= 90 and a2 == 0:
		x += 1
		a2 += 1
	if a >= 97 and a <= 122 and a3 == 0:
		x += 1
		a3 += 1
	if x == 2:
		break
if x == 2:
	print("该字符串既有数字又有字母")
else
	print("该字符串不满足条件")

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

inui = input("请输入一个字符串进行排序:")
toko = list(inui)
for j in range(0,len(toko)):
	for i in range(0,len(toko)-1):
		a = ord(toko[i])
		b = ord(toko[i+1])
		if a >= 65 and a <= 90:
			a = a + 32
		if b >= 65 and b <= 90:
			b = b + 32
		if a > b:
			temp = toko.pop(i)
			toko.insert(i+1,temp)
toko = ''.join(toko)
print(toko)

30.判断一个字符是否是回文字符串(面试题)
“1234567654321”
“上海自来水来自海上”

def hw():
	ls = str(input("请输入你的字句,判断是否是回文:"))
	ls1 = ls[::-1]
	print(ls1)
	if ls1 == ls:
		print("这是回文")
	else:
		print("这不是回文")

hw()
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值