1、给定一个包含n+1个整数的数组nums,其数字在1到n之间(包含1和n),可知至少存在一个重复的整数,假设只有一个重复的整数
def findDuplicate(nums):
nums.sort()
for i in range(1, len(nums)):
if nums[i] == nums[i - 1]:
print(nums[i])
测试:
2、找出10000以内能被5或6整除,但不能被两者同时整除的数(函数)
def Divisible():
for i in range(10000):
if (i % 5 == 0 or i % 6 == 0) and not (i % 5 == 0 and i % 6 == 0):
print(i)
Divisible()
测试:
3、写一个方法,计算列表所有偶数下标元素的和(注意返回值)
def indexs(nums):
double = []
res = 0
for i in nums:
if i % 2 == 0:
double.append(nums.index(i))
for j in double:
res += j
print(f"偶数下标和为:{res}")
indexs([1,2,3,4,5,6])
测试:
4、根据完整的路径从路径中分离文件路径、文件名及扩展名
import os
path = '/root/user/11.jpg'
# 分离文件路径和文件名
dir_path, filename = os.path.split(path)
# 分离文件名和扩展名
name, extension = os.path.splitext(filename)
print("文件路径: ", dir_path)
print("文件名: ", name)
print("扩展名: ", extension)
测试:
5、根据标点符号对字符串进行分行
def split_text(text):
lines = text.split(".")
lines = [line.strip() + "." for line in lines if line.strip()]
return lines
text = "I LOVE YOU. This is a test."
lines = split_text(text)
for line in lines:
print(line)
测试:
6、去掉字符串数组中每个字符串的空格
string_array = ["h e l l o ", " q ww e r ", " bye "]
for i in range(len(string_array)):
string_array[i] = string_array[i].replace(" ", "")
print(string_array)
测试:
7、随意输入你心中想到的一个书名,然后输出它的字符串长度
a = str(input("请输入一个字符串:"))
print(len(a))
测试:
8、两个学员输入各自最喜欢的游戏名称,判断是否一致,如果相等,则输出你们俩喜欢相同的游戏;如果不相同,则输出你们俩喜欢不相同的游戏
a = input("请a同学输入自己喜欢的游戏:")
b = input("请b同学输入自己喜欢的游戏:")
if a == b:
print(f"a和b都喜欢{a}")
else:
print(f"a喜欢{a},b喜欢{b}")
测试:
9、上题中两位同学输入 lol和 LOL代表同一游戏,怎么办?
a = input("请a同学输入自己喜欢的游戏:")
b = input("请b同学输入自己喜欢的游戏:")
if a.lower() == b.lower():
print(f"a和b都喜欢{a}")
else:
print(f"a喜欢{a},b喜欢{b}")
测试:
10、让用户输入一个日期格式如“2008/08/08”,将 输入的日期格式转换为“2008年-8月-8日”。
date_str = input("请输入日期,格式为yyyy/mm/dd: ")
year, month, day = date_str.split("/")
year, month, day = int(year), int(month), int(day)
output_str = f"{year}年-{month}月-{day}日"
print(output_str)
测试:
11、接收用户输入的字符串,将其中的字符进行排序(升序),并以逆序的顺序输出,“cabed”→"abcde"→“edcba”
string = input("请输入一个字符串: ")
sorted_string = ''.join(sorted(string)) # 将字符串中的字符按升序排序
reverse_sorted_string = sorted_string[::-1] # 将排序后的字符串反转
print(reverse_sorted_string)
测试:
12、接收用户输入的一句英文,将其中的单词以反序输出,“hello c sharp”→“sharp c hello”。
a = str(input("请输入一个字符串: "))
b = a [::-1]
print(b)
测试:
13、从请求地址中提取出用户名和域名http://www.163.com?userName=admin&pwd=123456
str = input("请输入网址:")
url = str[:str.index("?")]
user = str[str.index("=") + 1:str.index("&")]
print(f"域名为:{url},用户名为:{user}")
测试:
14、让用户输入一句话,找出所有"呵"的位置。
sentence = input("请输入一句话:")
locations = []
for i in range(len(sentence)):
if sentence[i] == "呵":
locations.append(i)
print("所有'呵'的位置:", locations)
测试:
15、让用户输入一句话,找出所有"呵呵"的位置。
sentence = input("请输入一句话:")
index = 0
while True:
index = sentence.find("呵呵", index)
if index == -1:
break
print("找到了 '呵呵',位置在:", index)
index += 2
测试:
16、让用户输入一句话,判断这句话中有没有邪恶,如果有邪恶就替换成这种形式然后输出,如:“老牛很邪恶”,输出后变成”老牛很**”
sentence = input("请输入一句话:")
if "邪恶" in sentence:
new_sentence = sentence.replace("邪恶", "**")
print(new_sentence)
else:
print("句子中没有邪恶")
测试:
17、如何判断一个字符串是否为另一个字符串的子串
str1 = input("请输入一个字符串:")
str2 = input("请再输入一个字符串:")
if str1 >= str2:
if str2 in str1:
print(f"{str2}是{str1}的子串")
else:
print(f"{str2}不是{str1}的子串")
else:
if str1 in str2:
print(f"{str1}是{str2}的子串")
else:
print(f"{str1}不是{str2}的子串")
测试:
18、如何判定一个字符串中既有数字又有字母
def has_digit_and_letter(s):
has_digit = False
has_letter = False
for char in s:
if char.isdigit():
has_digit = True
elif char.isalpha():
has_letter = True
return has_digit and has_letter
s1 = "qwe12"
s2 = "qw"
print(has_digit_and_letter(s1))
print(has_digit_and_letter(s2))
测试: