目录
2.青蛙跳楼梯,每一次只能跳一个台阶或者两个台阶,注意,不允许倒退如果第N个台阶,请问有多少种跳法:
4.找出10000以内能被5或6整除,但不能被两者同时整除的数(函数)
5.写一个方法,计算列表所有偶数下标元素的和(注意返回值)根据完整的路径从路径中分离文件路径、文件名及扩展名
8. 随意输入你心中想到的一个书名,然后输出它的字符串长度。(len()属性:可以得字符串的长度)
9.两个学员输入各自最喜欢的游戏名称,判断是否一致,如果相等,则输出你们俩喜欢相同的游戏;如果不相同,则输出你们俩喜欢不相同的游戏。
10.上题中两位同学输入 lo|和 LOL代表同一游戏,怎么办?
11.让用户输入一个日期格式如“2008/08/08”,将输入的日期格式转换为“2008年-8月-8日"。
12.接收用户输入的字符串,将其中的字符进行排序(升序),并以逆序的顺序输出,“cabed"→"abcde"→“edcba"。
13.接收用户输入的一句英文,将其中的单词以反序输H,"hello c sharp"_"sharp c hello".
14.从请求地址中提取出用户名和域名http://www.163.com?userName=admin&pwd=123456
15.有个字符串数组,存储了10个书名,书名有长有短,现在将他们统一处理,若书名长度大于10,则截取长度8的子串并且最后添加“…",加一个竖线后输出作者的名字。
17.让用户输入一句话,判断这句话中有没有邪恶,如果有邪恶就替换成这种形式然后输出,如:“老牛很邪恶”,输出后变成"老牛很**".
18.如何判断一个字符串是否为另一个字符串的子串find()index()
19.如何验证一个字符串中的每一个字符均在另一个字符串中出现过
22.判断一个字符是否是回文字符串(面试题)"1234567654321""上海自来水来自海上"
Python 6
1.求第n项的斐波那契数列值
【源代码】
#1.求第n项的斐波那契数列值
def fibonacci(n):
if n <= 1:
return n
a, b = 0, 1
for _ in range(2, n + 1):
c = a + b
a = b
b = c
return b
n = int(input("请输入一个正整数 n:"))
result = fibonacci(n)
print(f"第 {n} 项斐波那契数列值为:{result}")
2.青蛙跳楼梯,每一次只能跳一个台阶或者两个台阶,注意,不允许倒退如果第N个台阶,请问有多少种跳法:
【源代码】
#2.青蛙跳楼梯,每一次只能跳一个台阶或者两个台阶,注意,不允许倒退如果第N个台阶,请问有多少种跳法:
def frog_jump(n):
if n <= 2:
return n
a, b = 1, 2
for _ in range(3, n + 1):
c = a + b
a = b
b = c
return b
n = int(input("请输入楼梯的台阶数 n:"))
result = frog_jump(n)
print(f"跳 {n} 个台阶有 {result} 种跳法。")
3.小明高考结束,成绩非常理想,父母为了奖励他,为他买了一对刚刚出生的兔子刚刚出生的免子经过4个月成长为成年的兔子,就可以生小兔子,假设成年兔子每月出生一对小兔子,问,第N月,共有多少对免子假设所有不会死亡。
【源代码】
#3.小明高考结束,成绩非常理想,父母为了奖励他,为他买了一对刚刚出生的兔子,刚刚出生的免子经过4个月成长为成年的兔子,
# 就可以生小兔子,假设成年兔子每月出生一对小兔子,问,第N月,共有多少对免子,假设所有不会死亡。
def rabbit_count(n):
if n <= 2:
return 1
a, b = 1, 1
for _ in range(3, n + 1):
c = a + b
a = b
b = c
return b
n = int(input("请输入月份 n:"))
result = rabbit_count(n)
print(f"第 {n} 个月共有 {result} 对兔子。")
4.找出10000以内能被5或6整除,但不能被两者同时整除的数(函数)
【源代码】
#4.找出10000以内能被5或6整除,但不能被两者同时整除的数(函数)
def find_numbers():
result = []
for num in range(1, 10001):
if (num % 5 == 0 or num % 6 == 0) and not (num % 5 == 0 and num % 6 == 0):
result.append(num)
return result
numbers = find_numbers()
print(numbers)
5.写一个方法,计算列表所有偶数下标元素的和(注意返回值)根据完整的路径从路径中分离文件路径、文件名及扩展名
【源代码】
#5.写一个方法,计算列表所有偶数下标元素的和(注意返回值)根据完整的路径从路径中分离文件路径、文件名及扩展名
def sum_even_index(lst):
total = 0
for index, value in enumerate(lst):
if index % 2 == 0:
total += value
return total
def split_path(full_path):
import os
file_path, full_name = os.path.split(full_path)
filename, extension = os.path.splitext(full_name)
return file_path, filename, extension
lst = [1, 2, 3, 4, 5, 6]
print(sum_even_index(lst))
path = '/home/user/documents/example.txt'
print(split_path(path))
6.根据标点符号对字符串进行分行
【源代码】
#6.根据标点符号对字符串进行分行
def split_string_by_punctuation(s):
punctuations = ['.', '?', '!']
lines = []
current_line = ""
for char in s:
current_line += char
if char in punctuations:
lines.append(current_line.strip())
current_line = ""
if current_line:
lines.append(current_line.strip())
return lines
s = "This is a sentence. Another sentence? And one more!"
print(split_string_by_punctuation(s))
7.去掉字符串数组中每个字符串的空格
【源代码】
#7.去掉字符串数组中每个字符串的空格
def remove_spaces_from_array(arr):
return [s.replace(' ', '') for s in arr]
string_array = ["h e l l o", "w o r l d", "t e s t"]
print(remove_spaces_from_array(string_array))
8. 随意输入你心中想到的一个书名,然后输出它的字符串长度。(len()属性:可以得字符串的长度)
【源代码】
#8. 随意输入你心中想到的一个书名,然后输出它的字符串长度。(len()属性:可以得字符串的长度)
book_name = input("请输入一个书名:")
length = len(book_name)
print(f"书名《{book_name}》的字符串长度为{length}。")
9.两个学员输入各自最喜欢的游戏名称,判断是否一致,如果相等,则输出你们俩喜欢相同的游戏;如果不相同,则输出你们俩喜欢不相同的游戏。
【源代码】
#9.两个学员输入各自最喜欢的游戏名称,判断是否一致,如果相等,则输出你们俩喜欢相同的游戏;如果不相同,则输出你们俩喜欢不相同的游戏。
player1_game = input("学员一,请输入你最喜欢的游戏名称:")
player2_game = input("学员二,请输入你最喜欢的游戏名称:")
if player1_game == player2_game:
print("你们俩喜欢相同的游戏。")
else:
print("你们俩喜欢不相同的游戏。")
10.上题中两位同学输入 lo|和 LOL代表同一游戏,怎么办?
【源代码】
#10.上题中两位同学输入 lo|和 LOL代表同一游戏,怎么办?
game1 = input("学员一请输入最喜欢的游戏名称:")
game2 = input("学员二请输入最喜欢的游戏名称:")
# 将输入的游戏名称转换为小写进行比较
if game1.lower() == game2.lower():
print("你们俩喜欢相同的游戏。")
else:
print("你们俩喜欢不相同的游戏。")
11.让用户输入一个日期格式如“2008/08/08”,将输入的日期格式转换为“2008年-8月-8日"。
【源代码】
#11.让用户输入一个日期格式如“2008/08/08”,将输入的日期格式转换为“2008年-8月-8日"。
date_str = input("请输入一个日期格式如'2008/08/08':")
year, month, day = date_str.split('/')
formatted_date = f"{year}年-{int(month)}月-{int(day)}日"
print(formatted_date)
12.接收用户输入的字符串,将其中的字符进行排序(升序),并以逆序的顺序输出,“cabed"→"abcde"→“edcba"。
【源代码】
#12.接收用户输入的字符串,将其中的字符进行排序(升序),并以逆序的顺序输出,“cabed"→"abcde"→“edcba"。
s = input("请输入一个字符串:")
sorted_str = ''.join(sorted(s))
reversed_str = sorted_str[::-1]
print(reversed_str)
13.接收用户输入的一句英文,将其中的单词以反序输H,"hello c sharp"_"sharp c hello".
【源代码】
#13.接收用户输入的一句英文,将其中的单词以反序输H,"hello c sharp"_"sharp c hello".
sentence = input("请输入一句英文:")
words = sentence.split()
reversed_words = reversed(words)
reversed_sentence = " ".join(reversed_words)
print(reversed_sentence)
14.从请求地址中提取出用户名和域名
http://www.163.com?userName=admin&pwd=123456
【源代码】
#14.从请求地址中提取出用户名和域名
#http://www.163.com?userName=admin&pwd=123456
url = "http://www.163.com?userName=admin&pwd=123456"
parts = url.split('?')
if len(parts) > 1:
params = parts[1]
for param in params.split('&'):
if param.startswith('userName='):
username = param[9:]
elif param.startswith('pwd='):
password = param[4:]
domain = parts[0].split('//')[1].split('.')[1]
print(f"用户名:{username},域名:{domain}")
else:
print("没有查询参数,无法提取用户名和域名。")
15.有个字符串数组,存储了10个书名,书名有长有短,现在将他们统一处理,若书名长度大于10,则截取长度8的子串并且最后添加“…",加一个竖线后输出作者的名字。
【源代码】
#15.有个字符串数组,存储了10个书名,书名有长有短,现在将他们统一处理,
# 若书名长度大于10,则截取长度8的子串并且最后添加“…",加一个竖线后输出作者的名字。
book_titles = [
"Python 从入门到实践",
"深度学习导论",
"漫长的告别",
"百年孤独",
"三国演义",
"红楼梦",
"霍乱时期的爱情",
"编程之美",
"算法导论",
"追风筝的人"
]
authors = [
"Eric Matthes",
"Ian Goodfellow",
"雷蒙德·钱德勒",
"加西亚·马尔克斯",
"罗贯中",
"曹雪芹",
"加西亚·马尔克斯",
"微软亚洲研究院",
"Thomas H. Cormen",
"卡勒德·胡赛尼"
]
for title, author in zip(book_titles, authors):
if len(title) > 10:
new_title = title[:8] + "…"
print(f"{new_title}|{author}")
else:
print(f"{title}|{author}")
16.让用户输入一句话,找出所有"呵"的位置。
【源代码】
#16.让用户输入一句话,找出所有"呵"的位置。
sentence = input("请输入一句话:")
positions = [i for i, char in enumerate(sentence) if char == "呵"]
if positions:
print(f'"呵"在这句话中的位置为:{positions}')
else:
print("这句话中没有'呵'。")
17.让用户输入一句话,判断这句话中有没有邪恶,如果有邪恶就替换成这种形式然后输出,如:“老牛很邪恶”,输出后变成"老牛很**".
【源代码】
#17.让用户输入一句话,判断这句话中有没有邪恶,如果有邪恶就替换成这种形式然后输出,如:“老牛很邪恶”,输出后变成"老牛很**".
sentence = input("请输入一句话:")
if "邪恶" in sentence:
new_sentence = sentence.replace("邪恶", "**")
print(new_sentence)
else:
print(sentence)
18.如何判断一个字符串是否为另一个字符串的子串find()
index()
双层循环完成
??
(1)find()
【源代码】
#一.find()
s1 = input("请输入第一个字符串:")
s2 = input("请输入第二个字符串:")
if s1.find(s2)!= -1:
print(f"{s2}是{s1}的子串。")
else:
print(f"{s2}不是{s1}的子串。")
(2)index()
【源代码】
#(2)index()
s1 = input("请输入第一个字符串:")
s2 = input("请输入第二个字符串:")
try:
s1.index(s2)
print(f"{s2}是{s1}的子串。")
except ValueError:
print(f"{s2}不是{s1}的子串。")
(3)双层循环
【源代码】
#(3)双层循环
s1 = input("请输入第一个字符串:")
s2 = input("请输入第二个字符串:")
is_substring = False
for i in range(len(s1) - len(s2) + 1):
found = True
for j in range(len(s2)):
if s1[i + j]!= s2[j]:
found = False
break
if found:
is_substring = True
break
if is_substring:
print(f"{s2}是{s1}的子串。")
else:
print(f"{s2}不是{s1}的子串。")
19.如何验证一个字符串中的每一个字符均在另一个字符串中出现过
【源代码】
#19.如何验证一个字符串中的每一个字符均在另一个字符串中出现过
s1 = input("请输入第一个字符串:")
s2 = input("请输入第二个字符串:")
is_all_in = all(char in s2 for char in s1)
if is_all_in:
print(f"字符串 '{s1}' 中的每一个字符均在字符串 '{s2}' 中出现过。")
else:
print(f"字符串 '{s1}' 中的字符并非全部在字符串 '{s2}' 中出现过。")
20.如何随机生成无数字的全字母的字符串
【源代码】
#20.如何随机生成无数字的全字母的字符串
import random
import string
def generate_random_string(length):
letters = string.ascii_letters
return ''.join(random.choice(letters) for _ in range(length))
random_string = generate_random_string(10)
print(random_string)
21.如何随机生成带数字和字母的字符串
【源代码】
#21.如何随机生成带数字和字母的字符串
import random
import string
def generate_random_string(length):
characters = string.ascii_letters + string.digits
return ''.join(random.choice(characters) for _ in range(length))
random_string = generate_random_string(10)
print(random_string)
22.判断一个字符是否是回文字符串(面试题)
"1234567654321"
"上海自来水来自海上"
【源代码】
标签:Python,s2,print,字符串,input,源代码,输入 From: https://blog.csdn.net/2401_84670424/article/details/143418615#22.判断一个字符是否是回文字符串(面试题)
# "1234567654321"
# "上海自来水来自海上"
def is_palindrome(s):
cleaned_str = ""
for char in s:
if char.isalnum():
cleaned_str += char.lower()
return cleaned_str == cleaned_str[::-1]
s1 = "1234567654321"
s2 = "上海自来水来自海上"
print(is_palindrome(s1))
print(is_palindrome(s2))