'''
# 求第n项的斐波那契数列的值
def fun(n):
if n == 0:
return 0
elif n == 1:
return 1
return fun(n-1)+fun(n-2)
n = int(input('请输入n:'))
print(f'第{n}项的斐波那契数列的值:{fun(n)}')
'''
'''
# 小明考试非常好,妈妈为了奖励小明,给一对刚刚出生的兔子,
# 兔子可以经过四个月,可以长大称为成年的兔子,可以生育新的兔子,
# 假设成年兔子,每个月生一对小兔子,问,第n个月共有多少对兔子(加上兔子不死)
count = [1]
count1 = 1
n = int(input('请输入第n个月的数:'))
for i in range(2, n+1):
if i <= 4:
count1 += 1
count.append(count1)
else:
count1 = count1 + count[i-4]
count.append(count1)
print(f'第{n}个月共有{count1}对兔子')
'''
'''
# 给定一个包含n+1个整数的数组nums,其数字在1到n之间(包含1和n),
# 可知至少存在一个重复的整数,假设只有一个重复的整数,请找出这个重复的数
def find (n):
ls = list()
for i in range(0, len(n)):
for j in range(i+1,len(n)):
if n[i] == n[j]:
ls.append(n[i])
return ls
n = [1, 9, 2, 3, 4, 5, 6, 9, 8, 7, 5, 4, 2, 1]
print(f'重复的数为:{find(n)}')
'''
'''
# 找出10000以内能被5或6整除,但不能被两者同时整除的数(函数)
def find ():
n = list()
for i in range(1, 10000):
if i % 5 == 0 or i % 6 == 0:
if i % 30 !=0:
n.append(i)
return n
print(f'10000以内能被5或6整除,但不能被两者同时整除的数有\n{find()}')
'''
'''
# 写一个方法,计算列表所有偶数下标元素的和(注意返回值)
def mun (lst):
mun = 0
for i in range(0,len(lst)):
if lst[i] % 2 == 0:
mun += i
return mun
lst = list()
lst.append(list(map(int, input('请输入列表的元素:').split(','))))
lst = lst[0]
print(f'列表所有偶数下标元素的和为{mun(lst)}')
'''
'''
# 请使用函数完成选择、冒泡、插入三种排序
def bubble_sort(array):
"""冒泡"""
for i in range(len(array)):
for j in range(len(array)-i-1):
if array[j] > array[j+1]:
temp = array[j]
array[j] = array[j+1]
array[j+1] = temp
def insertion_sort(array):
"""插入"""
for i in range(1, len(array)):
for j in range(i, 0, -1):
if array[j] < array[j-1]:
temp = array[j]
array[j] = array[j-1]
array[j-1] = temp
else:
break
def selection_sort(array):
"""选择"""
for i in range(len(array)):
min_one = array[i]
# 记录最小数的下标
min_index = i
for j in range(i+1, len(array)):
if min_one > array[j]:
min_one = array[j]
min_index = j
temp = array[i]
array[i] = min_one
array[min_index] = temp
'''
'''
# 根据完整的路径(C:\ProgramData\Dell\InventoryCollector\Log\ICDebugLog.txt)
# 从路径中分离文件路径、文件名及扩展名
path = 'C:\\ProgramData\\Dell\\InventoryCollector\\Log\\ICDebugLog.txt'
print(path)
lst1 = path.split('\\')
lst2 = lst1[0:len(lst1)-1]
lst3 = '\\'.join(lst2)
print(f'文件路径{lst3}')
lst4 = lst1[len(lst1)-1]
print(f'文件名{lst4}')
lst4 = lst4.split('.')
lst4 = lst4[len(lst4)-1]
print(f'扩展名{lst4}')
'''
'''
# 获取字符串中汉字的个数
import re
str_test = 'abcdefgHABC123456中华民族'
hanzi_regex = re.compile(r'[\u4E00-\u9FA5]')
hanzi_list = hanzi_regex.findall(str_test)
print('包含的汉字个数:',len(hanzi_list))
'''
'''
# 将字母全部转换为大写或小写
ls = 'aAbBcCdDfFgGhH'
print(f'{ls}')
print(f'小写{ls.upper()}')
print(f'大写{ls.lower()}')
'''
'''
# 根据标点符号对字符串进行分行
ls = 'C:\\ProgramData\\Dell\\InventoryCollector\\Log\\ICDebugLog.txt'
ls = ls.split('\\')
for i in range(0, len(ls)):
print(ls[i])
'''
'''
# 去掉字符串数组中每个字符串的空格
ls = 'l o jngvb jhguhfv o '
ls = ls.split(' ')
ls = ''.join(ls)
print(ls)
'''
'''
# 随意输入你心中想到的一个书名,然后输出它的字符串长度。 (len()属性:可以得字符串的长度)
bookname = input('输入你心中想到的一个书名:')
print(len(bookname))
'''
'''
# 两个学员输入各自最喜欢的游戏名称,判断是否一致,如
# 果相等,则输出你们俩喜欢相同的游戏;如果不相同,则输
# 出你们俩喜欢不相同的游戏。
# 上题中两位同学输入 lol和 LOL代表同一游戏,怎么办?
str1 = str(input("请输入游戏:"))
str2 = str(input("请输入游戏:"))
def test_11(str1, str2):
str1 = str1.upper()
str2 = str2.upper()
if str1 == str2:
print(str1)
else:
print(str1, str2)
test_11(str1, str2)
'''
'''
# 让用户输入一个日期格式如“2008/08/08”,将 输入的日
# 期格式转换为“2008年-8月-8日”。
day = input('输入一个日期(xxxx/xx/xx)')
day = day.split('/')
print(f'{day[0]}年-{day[1]}月-{day[2]}日')
'''
'''
# 接收用户输入的字符串,将其中的字符进行排序(升
# 序),并以逆序的顺序输出,“cabed”→"abcde"→“edcba”。
ls1 = 'cabed'
ls2 = list(ls1)
ls2.sort()
ls3 = ''.join(ls2)
print(ls3)
ls2.reverse()
ls4 = ''.join(ls2)
print(ls4)
'''
'''
# 接收用户输入的一句英文,将其中的单词以反序输
# 出,“hello c sharp”→“sharp c hello”。
ls1 = 'hello c sharp'
ls1 = ls1.split(' ')
ls1.reverse()
ls1 = ' '.join(ls1)
print(ls1)
'''
'''
# 从请求地址中提取出用户名和域名
# http://www.163.com?userName=admin&pwd=123456
name = 'http://www.163.com?userName=admin&pwd=123456'
name = name.split('?')
name1 = name[0]
name1 = name1.split('//')
print(f'域名为:{name1[1]}')
name = name[1]
name = name.split('=')
name = name[1]
name = name.split('&')
print(f'用户名为:{name[0]}')
'''
'''
# 有个字符串数组,存储了10个书名,书名有长有短,现
# 在将他们统一处理,若书名长度大于10,则截取长度8的
# 子串并且最后添加“...”,加一个竖线后输出作者的名字。
ls = ["西游记之齐天大圣", "三国演义之义结金兰", "红楼梦之我是贾宝玉", "水浒传之一百零八将"]
dir = {"西游记之齐天大圣": "吴承恩", "三国演义之义结金兰": "罗贯中", "红楼梦之我是贾宝玉": "曹雪芹", "水浒传之一百零八将": "施耐庵"}
for i in range(0, len(ls)):
s = ls[i]
if len(s) > 7:
s = s[0:7] + "...|" + str(dir[ls[i]])
ls[i] = s
print(ls)
'''
'''
# 让用户输入一句话,找出所有"呵"的位置。
x = input('请输入一句话:')
k = 0
change = True
while k < len(x):
if x[k] == '呵':
print(f'位置:{k+1}')
change = False
k += 1
if change :
print('不存在')
'''
'''
# 让用户输入一句话,找出所有"呵呵"的位置。
x = input('请输入一句话:')
k = 0
change = True
while k < len(x):
if x[k] == '呵呵':
print(f'位置:{k+1}')
change = False
k += 1
if change :
print('不存在')
'''
'''
# 让用户输入一句话,判断这句话中有没有邪恶,如果有邪
# 恶就替换成这种形式然后输出,如:“老牛很邪恶”,输出后变
# 成”老牛很**”;
x = input('请输入一句话:')
print(x.replace('邪恶', '**'))
'''
'''
# 如何判断一个字符串是否为另一个字符串的子串
# find()
# index()
# 双层循环完成
# ??
str1 = input("请输入字符串:")
str2 = input("请输入需要判断的字符串:")
flag = True
if str1.find(str2) != -1:
flag = False
if flag:
print("字符串{}不是{}的子串".format(str2, str1))
else:
print("字符串{}是{}的子串".format(str2, str1))
'''
'''
# 如何验证一个字符串中的每一个字符均在另一个字符串中出现过
# 双层循环
word1 = input("请输入字符串:")
word2 = input("请输入需要判断的字符串:")
flag = True
for i in range(0, len(word2)):
if word1.find(word2[i]) == -1:
flag = False
if flag:
print("字符串{}都在{}中".format(word2, word1))
else:
print("字符串{}不都在{}中".format(word2, word1))
'''
'''
# 如何随机生成无数字的全字母的字符串
import random
import string
random_str = ''.join(random.sample(string.ascii_lowercase, 10))
print(random_str)
'''
'''
# 如何随机生成带数字和字母的字符串
import random
import string
random_str = ''.join(random.sample(string.ascii_letters + string.digits, 10))
print(random_str)
'''
'''
# 如何判定一个字符串中既有数字又有字母
string = input("请输入数据:\n")
if not (string.isdigit()) and not (string.isalpha()):
print("该数据中有数字也有字母")
'''
'''
# 字符串内的字符排序(只按字母序不论大小写)
str_list = ['d', 's', 'a', 'i', 'j', 'A', 'S', 'D', 'U', 'N']
new_list = sorted(str_list, key=str.lower)
print(new_list)
'''
'''
# 判断一个字符是否是回文字符串(面试题)
# "1234567654321"
# "上海自来水来自海上"
def test_27(count):
for i in range(0, len(count) // 2):
if count[i] != count[len(count) - i - 1]:
return False
return True
word = "1234567654321"
word1 = "上海自来水来自海上"
print(test_27(word))
print(test_27(word1))
'''
python 第七作业
最新推荐文章于 2024-08-15 01:55:01 发布