30道Python基础练习题

使用列表的reverse方法反转列表

my_list.reverse()

输出反转后的列表

print(“反转后的列表:”, my_list)


代码解析:程序首先定义了一个列表`my_list`。然后,使用列表的`reverse()`方法对列表进行反转操作。最后,使用`print()`函数输出反转后的列表。




---


#### 11. 编写一个程序,接受用户输入的数字列表,并计算列表中所有数字的和


示例代码:



获取用户输入的数字列表

num_list = input("请输入数字列表,各数字之间用空格分隔: ").split()

将输入的字符串转换为整数列表

num_list = [int(num) for num in num_list]

计算列表中所有数字的和

total = sum(num_list)

输出计算结果

print(f"列表中所有数字的和为: {total}")


代码解析:程序使用`input()`函数获取用户输入的数字列表,并通过`split()`方法将输入的字符串按空格分隔成多个字符串。然后,使用列表推导式将这些字符串转换为整数类型,存储在变量`num_list`中。接着,使用`sum()`函数计算列表中所有数字的和,并使用`print()`函数输出计算结果。




---


#### 12. 编写一个程序,接受用户输入的数字列表,并输出列表中最大和最小的数字


示例代码:



获取用户输入的数字列表

num_list = input("请输入数字列表,各数字之间用空格分隔: ").split()

将输入的字符串转换为整数列表

num_list = [int(num) for num in num_list]

输出列表中最大和最小的数字

max_num = max(num_list)
min_num = min(num_list)

输出计算结果

print(f"列表中最大的数字为: {max_num}“)
print(f"列表中最小的数字为: {min_num}”)


代码解析:程序使用`input()`函数获取用户输入的数字列表,并通过`split()`方法将输入的字符串按空格分隔成多个字符串。然后,使用列表推导式将这些字符串转换为整数类型,存储在变量`num_list`中。接着,使用`max()`函数和`min()`函数分别计算列表中最大和最小的数字,并使用`print()`函数输出计算结果。




---


#### 13. 编写一个程序,接受用户输入的数字列表,并将列表中所有数字按升序排列后输出


示例代码:



获取用户输入的数字列表

num_list = input("请输入数字列表,各数字之间用空格分隔: ").split()

将输入的字符串转换为整数列表

num_list = [int(num) for num in num_list]

对列表进行升序排序

sorted_list = sorted(num_list)

输出排序后的列表

print(“升序排列后的列表:”, sorted_list)


代码解析:程序使用`input()`函数获取用户输入的数字列表,并通过`split()`方法将输入的字符串按空格分隔成多个字符串。然后,使用列表推导式将这些字符串转换为整数类型,存储在变量`num_list`中。接着,使用`sorted()`函数对列表进行升序排序,并将排序后的结果存储在变量`sorted_list`中。最后,使用`print()`函数输出排序后的列表。




---


#### 14. 编写一个程序,接受用户输入的数字列表,并将列表中所有数字按降序排列后输出


示例代码:



获取用户输入的数字列表

num_list = input("请输入数字列表,各数字之间用空格分隔: ").split()

将输入的字符串转换为整数列表

num_list = [int(num) for num in num_list]

对列表进行降序排序

sorted_list = sorted(num_list, reverse=True)

输出排序后的列表

print(“降序排列后的列表:”, sorted_list)


代码解析:程序使用`input()`函数获取用户输入的数字列表,并通过`split()`方法将输入的字符串按空格分隔成多个字符串。然后,使用列表推导式将这些字符串转换为整数类型,存储在变量`num_list`中。接着,使用`sorted()`函数对列表进行降序排序(通过设置`reverse=True`参数),并将排序后的结果存储在变量`sorted_list`中。最后,使用`print()`函数输出排序后的列表。




---


#### 15. 编写一个程序,接受用户输入的字符串,并判断该字符串是否为回文字符串


示例代码:



获取用户输入的字符串

input_str = input("请输入一个字符串: ")

判断字符串是否为回文字符串

if input_str == input_str[::-1]:
print(“是回文字符串。”)
else:
print(“不是回文字符串。”)


代码解析:程序使用`input()`函数获取用户输入的字符串,并将其存储在变量`input_str`中。然后,通过切片操作`[::-1]`将字符串反转,与原始字符串进行比较,若相等则说明是回文字符串,否则不是。最后,使用`print()`函数输出判断结果。




---


#### 16. 编写一个程序,接受用户输入的字符串,并统计字符串中各个字母出现的次数


示例代码:



获取用户输入的字符串

input_str = input("请输入一个字符串: ")

初始化字母计数的字典

letter_count = {}

统计字符串中各个字母出现的次数

for letter in input_str:
if letter.isalpha():
letter_count[letter] = letter_count.get(letter, 0) + 1

输出字母计数结果

print(“各个字母出现的次数:”)
for letter, count in letter_count.items():
print(f"{letter}: {count}")


代码解析:程序首先使用`input()`函数获取用户输入的字符串,并将其存储在变量`input_str`中。然后,初始化一个空字典`letter_count`用于存储各个字母出现的次数。接着,使用`for`循环遍历字符串中的每个字符,对于每个字母字符,使用`isalpha()`方法判断是否为字母,然后使用`get()`方法统计字母出现的次数并更新到字典中。最后,使用`print()`函数输出统计结果。




---


#### 17. 编写一个程序,接受用户输入的字符串,并将字符串中的大写字母转换为小写字母


示例代码:



获取用户输入的字符串

input_str = input("请输入一个字符串: ")

将大写字母转换为小写字母

lowercase_str = input_str.lower()

输出转换后的字符串

print(“转换后的字符串:”, lowercase_str)


代码解析:程序使用`input()`函数获取用户输入的字符串,并将其存储在变量`input_str`中。然后,使用字符串的`lower()`方法将字符串中的大写字母转换为小写字母,存储在变量`lowercase_str`中。最后,使用`print()`函数输出转换后的字符串。




---


#### 18. 编写一个程序,接受用户输入的字符串,并判断该字符串是否为全数字字符串


示例代码:



获取用户输入的字符串

input_str = input("请输入一个字符串: ")

判断字符串是否为全数字字符串

if input_str.isdigit():
print(“是全数字字符串。”)
else:
print(“不是全数字字符串。”)


代码解析:程序使用`input()`函数获取用户输入的字符串,并将其存储在变量`input_str`中。然后,使用字符串的`isdigit()`方法判断字符串是否全由数字组成,若是则输出是全数字字符串,否则输出不是全数字字符串。最后,使用`print()`函数输出判断结果。




---


#### 19. 编写一个程序,接受用户输入的字符串,并输出字符串中每个单词的首字母大写形式


示例代码:



获取用户输入的字符串

input_str = input("请输入一个字符串: ")

将字符串按空格分割成单词列表,并对每个单词进行首字母大写处理

words_list = [word.capitalize() for word in input_str.split()]

将处理后的单词列表组合成字符串并输出

capitalized_str = " ".join(words_list)
print(“每个单词的首字母大写形式:”, capitalized_str)


代码解析:程序首先使用`input()`函数获取用户输入的字符串,并将其存储在变量`input_str`中。然后,使用字符串的`split()`方法按空格将字符串分割成单词列表,并利用列表推导式和字符串的`capitalize()`方法对每个单词进行首字母大写处理,生成处理后的单词列表`words_list`。接着,使用字符串的`join()`方法将处理后的单词列表组合成字符串,并输出。




---


#### 20. 编写一个程序,接受用户输入的两个数字,并交换它们的值后输出


示例代码:



获取用户输入的两个数字

num1 = float(input("请输入第一个数字: "))
num2 = float(input("请输入第二个数字: "))

交换两个数字的值

num1, num2 = num2, num1

输出交换后的值

print(f"交换后的第一个数字为: {num1}“)
print(f"交换后的第二个数字为: {num2}”)


代码解析:程序使用`input()`函数分别获取用户输入的两个数字,并将它们转换为浮点数类型,存储在变量`num1`和`num2`中。然后,利用Python的多变量赋值特性,通过`num1, num2 = num2, num1`语句交换两个数字的值。最后,使用`print()`函数输出交换后的两个数字。




---


#### 21. 编写一个程序,接受用户输入的字符串,并将字符串中的空格替换为指定的字符


示例代码:



获取用户输入的字符串和指定的替换字符

input_str = input("请输入一个字符串: ")
replace_char = input("请输入要替换空格的字符: ")

将字符串中的空格替换为指定的字符

new_str = input_str.replace(" ", replace_char)

输出替换后的字符串

print(“替换后的字符串:”, new_str)


代码解析:程序使用`input()`函数分别获取用户输入的字符串和指定的替换字符,并将它们存储在变量`input_str`和`replace_char`中。然后,使用字符串的`replace()`方法将字符串中的空格替换为指定的字符,得到替换后的新字符串`new_str`。最后,使用`print()`函数输出替换后的字符串。




---


#### 22. 编写一个程序,接受用户输入的数字,并判断该数字是否为质数


示例代码:



获取用户输入的数字

num = int(input("请输入一个数字: "))

判断数字是否为质数

is_prime = True
if num <= 1:
is_prime = False
else:
for i in range(2, int(num**0.5) + 1):
if num % i == 0:
is_prime = False
break

输出判断结果

if is_prime:
print(f"{num} 是质数。“)
else:
print(f”{num} 不是质数。")


代码解析:程序使用`input()`函数获取用户输入的数字,并将其转换为整数类型,存储在变量`num`中。然后,通过循环判断该数字是否为质数,若数字小于等于1,则不是质数;否则,从2到该数字的平方根范围内进行遍历,如果存在能整除该数字的因子,则该数字不是质数。最后,根据判断结果使用`print()`函数输出相应的信息。




---


#### 23. 编写一个程序,接受用户输入的字符串,并检查字符串中是否包含特定的子字符串


示例代码:



获取用户输入的字符串和要检查的子字符串

input_str = input("请输入一个字符串: ")
sub_str = input("请输入要检查的子字符串: ")

检查字符串中是否包含特定的子字符串

if sub_str in input_str:
print(f"字符串中包含子字符串 ‘{sub_str}’。“)
else:
print(f"字符串中不包含子字符串 ‘{sub_str}’。”)


代码解析:程序使用`input()`函数分别获取用户输入的字符串和要检查的子字符串,并将它们存储在变量`input_str`和`sub_str`中。然后,通过`in`运算符检查字符串中是否包含特定的子字符串,若包含则输出包含的信息,否则输出不包含的信息。




---


#### 24. 编写一个程序,接受用户输入的两个列表,并将它们合并为一个新的列表后输出


示例代码:



获取用户输入的两个列表

list1 = input("请输入第一个列表,各元素之间用空格分隔: ").split()
list2 = input("请输入第二个列表,各元素之间用空格分隔: ").split()

将输入的字符串列表转换为整数列表

list1 = [int(num) for num in list1]
list2 = [int(num) for num in list2]

合并两个列表为一个新列表

merged_list = list1 + list2

输出合并后的列表

print(“合并后的列表:”, merged_list)


代码解析:程序首先使用`input()`函数分别获取用户输入的两个列表,并通过`split()`方法将输入的字符串按空格分隔成多个字符串。然后,使用列表推导式将这些字符串转换为整数类型,分别存储在变量`list1`和`list2`中。接着,通过`+`运算符将两个列表合并为一个新的列表`merged_list`。最后,使用`print()`函数输出合并后的列表。




---


#### 25. 编写一个程序,接受用户输入的字符串,并输出字符串中每个字符的ASCII码值


示例代码:



获取用户输入的字符串

input_str = input("请输入一个字符串: ")

输出字符串中每个字符的ASCII码值

ascii_values = [ord(char) for char in input_str]
print(“字符串中每个字符的ASCII码值:”, ascii_values)


代码解析:程序使用`input()`函数获取用户输入的字符串,并将其存储在变量`input_str`中。然后,使用列表推导式和`ord()`函数将字符串中每个字符转换为其对应的ASCII码值,并将这些ASCII码值存储在列表`ascii_values`中。最后,使用`print()`函数输出字符串中每个字符的ASCII码值。




---


#### 26. 编写一个程序,接受用户输入的两个整数,并计算它们的最大公约数和最小公倍数


示例代码:



获取用户输入的两个整数

num1 = int(input("请输入第一个整数: "))
num2 = int(input("请输入第二个整数: "))

计算最大公约数

def gcd(a, b):
while b:
a, b = b, a % b
return a

计算最小公倍数

def lcm(a, b):
return abs(a * b) // gcd(a, b)

输出计算结果

print(f"最大公约数为: {gcd(num1, num2)}“)
print(f"最小公倍数为: {lcm(num1, num2)}”)


代码解析:程序首先使用`input()`函数获取用户输入的两个整数,并将其转换为整数类型,存储在变量`num1`和`num2`中。然后,定义了计算最大公约数的函数`gcd`和计算最小公倍数的函数`lcm`。最大公约数的计算使用辗转相除法,而最小公倍数的计算则是通过调用最大公约数函数来实现的。最后,使用`print()`函数输出计算结果。




---


#### 27. 编写一个程序,接受用户输入的列表和一个元素,然后判断该元素是否在列表中


示例代码:



获取用户输入的两个整数

num1 = int(input("请输入第一个整数: "))
num2 = int(input("请输入第二个整数: "))

计算最大公约数

def gcd(a, b):
while b:
a, b = b, a % b
return a

计算最小公倍数

def lcm(a, b):
return abs(a * b) // gcd(a, b)

输出计算结果

print(f"最大公约数为: {gcd(num1, num2)}“)
print(f"最小公倍数为: {lcm(num1, num2)}”)


代码解析:程序首先使用`input()`函数获取用户输入的两个整数,并将其转换为整数类型,存储在变量`num1`和`num2`中。然后,定义了计算最大公约数的函数`gcd`和计算最小公倍数的函数`lcm`。最大公约数的计算使用辗转相除法,而最小公倍数的计算则是通过调用最大公约数函数来实现的。最后,使用`print()`函数输出计算结果。




---


#### 28. 编写一个程序,接受用户输入的两个字符串,并检查它们是否为异位词(字符相同但排列顺序不同)


示例代码:



获取用户输入的两个字符串

str1 = input("请输入第一个字符串: ")
str2 = input("请输入第二个字符串: ")

判断是否为异位词

def is_anagram(str1, str2):
return sorted(str1) == sorted(str2)

输出判断结果

if is_anagram(str1, str2):
print(“是异位词。”)
else:
print(“不是异位词。”)


代码解析:程序使用`input()`函数分别获取用户输入的两个字符串,并将它们存储在变量`str1`和`str2`中。然后,定义了判断是否为异位词的函数`is_anagram`,该函数通过对两个字符串进行排序后比较来判断是否为异位词。最后,根据判断结果使用`print()`函数输出相应的信息。




---


#### 29. 编写一个程序,接受用户输入的字符串和索引值,然后输出字符串中对应索引位置的字符


示例代码:



获取用户输入的字符串和索引值

input_str = input("请输入一个字符串: ")
index = int(input("请输入要获取字符的索引值: "))

获取字符串中对应索引位置的字符

if index >= 0 and index < len(input_str):
char_at_index = input_str[index]
print(f"字符串中索引为 {index} 的字符为: {char_at_index}")
else:
print(“索引值超出范围,请输入有效的索引值。”)


代码解析:程序首先使用`input()`函数分别获取用户输入的字符串和索引值,并将它们分别存储在变量`input_str`和`index`中。然后,通过判断索引值是否在字符串范围内,使用索引操作获取字符串中对应索引位置的字符,并将结果输出。如果索引值超出范围,则输出提示信息。


 **自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。**

**深知大多数Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!**

**因此收集整理了一份《2024年Python开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。**

![img](https://img-blog.csdnimg.cn/img_convert/1f3d2ac0fc1697fe38c6192d7c03779d.png)

![img](https://img-blog.csdnimg.cn/img_convert/bb6941ece80c5a8731052212efeab3fb.png)

![img](https://img-blog.csdnimg.cn/img_convert/89a52cc5c88ef022eafbbb86009c46dd.png)

![img](https://img-blog.csdnimg.cn/img_convert/74cfe90408f95cd9d9f06466dc26983f.png)

![img](https://img-blog.csdnimg.cn/img_convert/6c361282296f86381401c05e862fe4e9.png)

![img](https://img-blog.csdnimg.cn/img_convert/9f49b566129f47b8a67243c1008edf79.png)

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!**

**由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新**

**如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注:Python)**

024年Python开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。**

[外链图片转存中...(img-7C2pma7F-1713546674005)]

[外链图片转存中...(img-ACS9FXaX-1713546674006)]

[外链图片转存中...(img-jK3o4lvm-1713546674007)]

[外链图片转存中...(img-8pOPWEtQ-1713546674007)]

![img](https://img-blog.csdnimg.cn/img_convert/6c361282296f86381401c05e862fe4e9.png)

![img](https://img-blog.csdnimg.cn/img_convert/9f49b566129f47b8a67243c1008edf79.png)

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!**

**由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新**

**如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注:Python)**

![](https://img-blog.csdnimg.cn/img_convert/5c303865a0ac7d4fac6b93b9f090748c.jpeg)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值