python3 十道经典例题及解答
文章目录
题目1 字符串单词计数
编写一个函数,接受一个字符串作为输入,计算字符串中的单词数量。
def count_words(string): # 计算字符串中单词的函数
words = string.split() # 将字符串拆分为单个单词
return len(words) # 返回单词的长度
string = "This is a sample string" # 示例字符串
word_count = count_words(string) # 调用函数并将结果存储在变量 'word_count' 中
print("字符串中的单词数为:", word_count) # 打印字数统计
题目2 查找最大值
请编写一个函数,返回其输入列表中最大的数字。
def find_max(list):
# 将列表第一个值赋给max_num变量
max_num = list[0]
# 遍历列表比较每一个元素的值并获取最大值
for num in list:
if num > max_num:
max_num = num
# 结束循环后将最大值返回
return max_num
# 获取输入的列表
list = input("请输入一组列表:")
# 调用find_max函数获取最大值
Max = find_max(list)
# 输出并打印最大值
print("输入列表中的最大值为:", Max)
题目3 判断质数
请编写一个判断输入的正整数是否为质数的函数。1
def is_prime(num):
if num <= 1:
return False
else:
for i in range(2, num):
if num % i == 0:
return False
return True
num = eval(input("请输入一个正整数:"))
Prime = is_prime(num)
if Prime:
print(num, "是一个质数")
else:
print(num, "不是一个质数")
题目4 判断回文
编写一个函数,判断一个字符串是否为回文。
# 定义一个函数,用于判断一个字符串是否是回文字符串
def is_palindrome(string):
# 判断字符串是否和其反向拷贝相等,如果相等,则说明字符串是回文字符串,返回 True;否则返回 False
return string == string[::-1]
# 获取用户输入的字符串
string = input("请输入一个字符串:")
# 调用函数判断字符串是否是回文字符串
palindrome = is_palindrome(string)
# 根据判断结果输出相应的信息
if palindrome:
print(string, "是一个回文字符串!")
else:
print(string, "不是一个回文字符串!")
备注:
- string[::-1]
这个语法是 Python 中字符串的切片语法,其中的 [::-1] 表示从后往前切,每次切一个字符。也就是说,这个表达式返回了 string 字符串的反向拷贝
- string == string[::-1]
这个语句用来检查 string 是否和它的反向拷贝相等。如果相等,说明 string 是一个回文字符串,返回 True;否则返回 False。
题目5 字符串拼接
请编写一个函数,以字符串列表作为输入,将所有字符串拼接成一个字符新串。
def concatenate_strings(str_list):
# 创建一个空字符串
result = ""
# 遍历字符串列表中的每一个字符串,并将其拼接到结果字符串中
for s in str_list:
result += s
# 返回结果字符串
return result
# 从控制台获取一个字符串列表
string_list = input("请输入一个字符串列表,各个字符串之间用空格分隔:").split()
# 将字符串列表中的所有字符串拼接成一个新的字符串
result = concatenate_strings(string_list)
# 输出拼接结果
print("拼接结果为:", result)
题目6 单词反序
编写一个函数,接受一个字符串作为输入,输出该字符串中单词的反序列。
def reverse_words(string):
# 使用空格将字符串拆分成单词列表
words = string.split()
# 翻转单词列表中的顺序
words.reverse()
# 使用空格将单词列表拼接成一个字符串
reversed_string = " ".join(words)
# 返回翻转后的字符串
return reversed_string
# 测试函数
string = input("请输入字符串:")
reversed_string = reverse_words(string)
print(reversed_string)
题目7 字母反序
编写一个函数,它接受一个字符串作为参数,并将该字符串中的字母反序列输出。
def reverse_letters(string):
# 使用切片操作翻转字符串,返回翻转后的结果
return string[::-1]
# 测试函数
string = input("请输入一个字符串:")
reversed_string = reverse_letters(string)
print(reversed_string)
题目8 大小写转换
编写一个函数,将字符串中的所有大写字母转换为小写字母。
# 定义一个函数,它将字符串中的所有字母都转换为小写字母,并返回转换后的字符串
def capital_lowercase(string):
return string.lower()
# 从控制台输入一个字符串
string = input("请输入一个字符串:")
# 调用函数,将输入的字符串中的所有字母都转换为小写字母
lowercase = capital_lowercase(string)
# 输出转换后的字符串
print(lowercase)
题目9 删除元素
编写一个函数,从列表中依次删除元素,直到只剩下一个未被删除的元素。
def delete_elements(lst):
while len(lst) > 1: # 当列表长度大于1时,执行循环
lst.pop(0) # 每次循环删除列表中的第一个元素
return lst[0] # 最终返回列表中剩余的唯一元素
# 从控制台输入一个用空格分隔的字符串,并将其转换为列表
lst = input("请输入一个用空格分隔的列表: ").split()
# 调用函数,输出最终结果
result = delete_elements(lst)
print("最后剩下的元素是:", result)
备注:
- pop(0)方法用于删除列表中的第一个元素
题目10 查找最大最小值
编写一个函数,该函数能够找出一组数中最大和最小值。
def find_max_min(lst):
max_value = max(lst) # 找出最大值
min_value = min(lst) # 找出最小值
return max_value, min_value # 返回最大值和最小值
numbers = input("请输入一组数并用空格相互隔开:").split()
max_num, min_num = find_max_min(numbers)
print("最大值为:", max_num)
print("最小值为:", min_num)
质数是一个大于1的自然数,它只能被1和它本身整除。例如,2、3、5、7、11都是质数,而4、6、8则不是质数。 ↩︎