Python编程语言一直在飞速发展,成为了越来越多开发者的首选。如果你正在学习Python,那么今天我们有一个好消息,我们为你准备了25个值得收藏的Python练习题。
这些练习题适合不同水平的Python开发者,从初学者到专业开发者。这些题目将帮助你巩固Python编程的基础知识,提高编程能力,并为你的以后的项目提供帮助。
以下是25个值得收藏的Python练习题及详细答案:
1. 写一个程序,输出所有的奇数
“`
for i in range(100):
if i % 2 != 0:
print(i)
“`
2. 写一个程序,求1到100的和
“`
sum = 0
for i in range(1, 101):
sum += i
print(sum)
“`
3. 写一个程序,输出1到100中的所有质数
“`
for i in range(2, 101):
for j in range(2, i):
if i % j == 0:
break
else:
print(i)
“`
4. 写一个程序,输出斐波那契数列的前20项
“`
a, b = 0, 1
for i in range(20):
a, b = b, a + b
print(a)
“`
5. 写一个程序,判断一个数是否是回文数
“`
def is_palindrome(num):
return str(num) == str(num)[::-1]
“`
6. 写一个程序,判断一个字符串是否是回文字符串
“`
def is_palindrome(str):
return str == str[::-1]
“`
7. 写一个程序,生成一个随机数并将其逆序输出
“`
import random
num = random.randint(1, 100)
print(str(num)[::-1])
“`
8. 写一个程序,求两个数的最大公约数
“`
def gcd(a, b):
while b != 0:
a, b = b, a % b
return a
“`
9. 写一个程序,求两个数的最小公倍数
“`
def lcm(a, b):
return a * b // gcd(a, b)
“`
10. 写一个程序,输入两个整数,计算它们的和、差、积、商、余数
“`
a, b = map(int, input().split())
print(“和:”, a + b)
print(“差:”, a – b)
print(“积:”, a * b)
print(“商:”, a // b)
print(“余数:”, a % b)
“`
11. 写一个程序,判断一个数是否是完全数
“`
def is_perfect(num):
factors = []
for i in range(1, num):
if num % i == 0:
factors.append(i)
return sum(factors) == num
“`
12. 写一个程序,输出100以内的所有偶数,直到累加和大于1000
“`
num = 0
for i in range(2, 100, 2):
num += i
if num > 1000:
break
print(i)
“`
13. 写一个程序,计算一个字符串中有多少个单词
“`
text = “Hello world! I am a Python developer.”
words = text.split()
print(len(words))
“`
14. 写一个程序,将两个列表合并成一个有序的列表
“`
list1 = [1, 3, 5, 7]
list2 = [2, 4, 6, 8]
new_list = sorted(list1 + list2)
print(new_list)
“`
15. 写一个程序,找出两个列表中的相同元素
“`
list1 = [1, 3, 5, 7]
list2 = [2, 4, 6, 8, 1, 7]
common_elements = set(list1) & set(list2)
print(common_elements)
“`
16. 写一个程序,找出两个列表中的不同元素
“`
list1 = [1, 3, 5, 7]
list2 = [2, 4, 6, 8, 1, 7]
different_elements = set(list1) ^ set(list2)
print(different_elements)
“`
17. 写一个程序,计算一个列表中每个元素的平方
“`
list1 = [1, 3, 5, 7]
squares = [i**2 for i in list1]
print(squares)
“`
18. 写一个程序,将一个字典中的键和值互换
“`
dict1 = {‘a’: 1, ‘b’: 2, ‘c’: 3}
new_dict1 = {v: k for k, v in dict1.items()}
print(new_dict1)
“`
19. 写一个程序,将一个列表中的元素去重
“`
list1 = [1, 2, 3, 2, 1, 4, 5, 4]
new_list1 = list(set(list1))
print(new_list1)
“`
20. 写一个程序,将一个列表中的元素按照大小重新排序
“`
list1 = [1, 3, 5, 7, 2, 4, 6, 8]
new_list1 = sorted(list1)
print(new_list1)
“`
21. 写一个程序,将一个字符串中的所有字母小写并去除空格
“`
text = “Hello World! I Am A Python Developer.”
new_text = text.lower().replace(” “, “”)
print(new_text)
“`
22. 写一个程序,将一个字符串中的所有字母大小写互换
“`
text = “Hello World! I Am A Python Developer.”
new_text = “”
for char in text:
if char.isupper():
new_text += char.lower()
elif char.islower():
new_text += char.upper()
else:
new_text += char
print(new_text)
“`
23. 写一个程序,计算两个时间之间的差异(小时数和分钟数)
“`
from datetime import datetime
time1 = datetime.strptime(‘2018-06-29 08:15:27’, ‘%Y-%m-%d %H:%M:%S’)
time2 = datetime.strptime(‘2018-06-29 15:35:16’, ‘%Y-%m-%d %H:%M:%S’)
diff = time2 – time1
print(“小时数: “, diff.seconds // 3600)
print(“分钟数: “, (diff.seconds // 60) % 60)
“`
24. 写一个程序,将十六进制颜色代码转换为RGB值
“`
def hex_to_rgb(hex):
r = int(hex[1:3], 16)
g = int(hex[3:5], 16)
b = int(hex[5:7], 16)
return (r, g, b)
print(hex_to_rgb(‘#FF0000’))
“`
25. 写一个程序,计算一个数的阶乘
“`
def factorial(num):
if num == 0:
return 1
else:
return num * factorial(num-1)
print(factorial(5))
“`
以上是25个值得收藏的Python练习题及详细答案,希望这些题目能够帮助你巩固Python编程的基础知识,提高编程能力。