值得苦练的100道Python经典练手题(附详细答案)
在学习Python编程的旅程中,实践是提升编程能力的最佳方法之一。为了帮助学习者更好地掌握Python,我们整理了100道经典的练手题目,并附上详细的解答。以下是一些精选的练习题目,供大家参考和练习。
1. 打印九九乘法表
题目:用for
循环打印出九九乘法表。
答案:
for i in range(1, 10):
for j in range(1, i + 1):
print(f"{j} * {i} = {i * j}", end="\t")
print()
解析:利用嵌套循环,其中外层循环控制行数,内层循环控制每行的列数。
2. 计算列表的平均值
题目:给定一个数字列表,计算并返回其平均值。
答案:
def average(numbers):
return sum(numbers) / len(numbers) if numbers else 0
num_list = [10, 20, 30, 40, 50]
print("平均值:", average(num_list))
解析:使用sum()
函数计算总和,使用len()
函数计算长度,二者相除即可得到平均值。
3. 判断素数
题目:编写一个函数,判断给定的数字是否为素数。
答案:
def is_prime(n):
if n <= 1:
return False
for i in range(2, int(n**0.5) + 1):
if n % i == 0:
return False
return True
print(is_prime(29)) # 输出: True
解析:素数定义为大于1且除了1和自身没有其他因数的数,通过循环范围到sqrt(n)
降低计算量。
4. 反转字符串
题目:编写一个函数,反转输入的字符串。
答案:
def reverse_string(s):
return s[::-1]
print(reverse_string("Hello, World!")) # 输出: !dlroW ,olleH
解析:利用切片功能,s[::-1]
可以快速实现字符串的反转。
5. 找出最大值
题目:从列表中找出最大值。
答案:
def find_max(lst):
if not lst:
return None
max_value = lst[0]
for num in lst:
if num > max_value:
max_value = num
return max_value
print(find_max([2, 5, 9, 1, 0])) # 输出: 9
解析:通过遍历列表,比较每个元素并更新最大值。
总结
以上简要展示了5道Python练手题目和答案。这仅是100道题目中的冰山一角,其他题目涵盖字符串处理、文件操作、数据结构等多个方面,有助于学生们在实际编程中积累经验。坚持练习这些经典题目,能够有效提高编程能力和逻辑思维能力。希望大家能够逐步挑战这些题目,提升自己的Python水平,并最终成为编程高手!