Skip to content

循环综合练习题

1. 输出 1 到 10 的所有数字

思路:使用 for 循环遍历从 1 到 10 的范围,逐个输出数字。

python
for i in range(1, 11):
    print(i)  # 输出 1 到 10 的数字

2. 计算 1 到 100 的和

思路:使用 for 循环遍历 1 到 100,将每个数累加到一个变量中。

python
total = 0
for i in range(1, 101):
    total += i  # 每次循环累加当前数到总和中
print("1到100的和为:", total)

3. 输出列表中的所有元素

思路:使用 for 循环遍历列表,并打印每个元素。

python
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
    print(fruit)  # 输出每个水果的名字

4. 打印 1 到 50 中所有的偶数

思路:使用 for 循环遍历 1 到 50,检查每个数是否为偶数,是偶数则输出。

python
for i in range(1, 51):
    if i % 2 == 0:  # 如果数是偶数
        print(i)  # 输出偶数

5. 计算一个列表中所有数字的和

思路:遍历列表中的每个数字,并累加到一个变量中。

python
numbers = [10, 20, 30, 40]
total = 0
for num in numbers:
    total += num  # 累加每个数到总和
print("列表中所有数字的和为:", total)

6. 找到列表中最大值

思路:初始化最大值为第一个元素,然后遍历列表,逐个比较并更新最大值。

python
numbers = [3, 5, 7, 2, 8]
max_num = numbers[0]  # 假设第一个数为最大值
for num in numbers:
    if num > max_num:
        max_num = num  # 更新最大值
print("列表中的最大值是:", max_num)

7. 打印九九乘法表

思路:使用嵌套的 for 循环,外层循环控制乘数 1 到 9,内层循环控制被乘数 1 到 9。

python
for i in range(1, 10):
    for j in range(1, i + 1):
        print(f"{j} * {i} = {i * j}", end="  ")  # 打印乘法表
    print()  # 换行

8. 反转一个字符串

思路:使用 for 循环从字符串末尾开始逐个字符提取,并累加到新字符串中。

python
text = "hello"
reversed_text = ""
for char in text[::-1]:  # 从末尾到开头遍历字符
    reversed_text += char
print("反转后的字符串为:", reversed_text)

9. 统计列表中正数的个数

思路:遍历列表,检查每个数字是否为正数,是则计数加一。

python
numbers = [-5, 3, 8, -2, 6]
count = 0
for num in numbers:
    if num > 0:
        count += 1  # 计数加一
print("列表中正数的个数为:", count)

10. 找到两个列表的交集

思路:使用 for 循环遍历第一个列表,检查是否在第二个列表中。

python
list1 = [1, 2, 3, 4]
list2 = [3, 4, 5, 6]
intersection = []
for item in list1:
    if item in list2:
        intersection.append(item)
print("两个列表的交集为:", intersection)

11. 输出一个列表中所有非零元素

思路:遍历列表,检查每个元素是否不为零,不为零则输出。

python
numbers = [0, 5, 3, 0, 8]
for num in numbers:
    if num != 0:
        print(num)  # 输出非零元素

12. 打印一个字符串中所有的字母

思路:遍历字符串,检查每个字符是否为字母,如果是则打印。

python
text = "Hello123"
for char in text:
    if char.isalpha():  # 检查是否是字母
        print(char)

13. 计算一个数的阶乘

思路:使用 for 循环从 1 到 n,逐个相乘计算阶乘。

python
n = 5
factorial = 1
for i in range(1, n + 1):
    factorial *= i
print(f"{n} 的阶乘是:", factorial)

14. 打印一个列表中的奇数位置元素

思路:使用 for 循环结合 range(),遍历奇数位置索引的元素。

python
numbers = [10, 20, 30, 40, 50]
for i in range(1, len(numbers), 2):
    print(numbers[i])  # 输出奇数位置的元素

15. 求出 1 到 50 的所有数的平方和

思路:使用 for 循环遍历 1 到 50,将每个数的平方累加到总和中。

python
total = 0
for i in range(1, 51):
    total += i ** 2  # 累加平方
print("1到50的平方和为:", total)

16. 输出一个字符串中所有的数字

思路:使用 for 循环遍历字符串,检查每个字符是否为数字,是则输出。

python
text = "abc123def456"
for char in text:
    if char.isdigit():  # 检查是否是数字
        print(char)

17. 打印出所有质数(2 到 50)

思路:使用嵌套循环,外层遍历 2 到 50,内层检查每个数是否有除 1 和自身之外的因数。

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

18. 找到列表中最小值

思路:假设第一个元素为最小值,遍历比较更新。

python
numbers = [4, 2, 9, 1, 5]
min_num = numbers[0]
for num in numbers:
    if num < min_num:
        min_num = num
print("列表中的最小值为:", min_num)

19. 判断一个字符串是否是回文

思路:检查字符串是否与反转后的字符串相同。

python
text = "level"
is_palindrome = text == text[::-1]
print(f"{text} 是回文" if is_palindrome else f"{text} 不是回文")

20. 计算一个字符串中每个字符的出现次数

思路:使用字典存储字符和对应出现次数。

python
text = "hello world"
count_dict = {}
for char in text:
    count_dict[char] = count_dict.get(char, 0) + 1
print("每个字符的出现次数为:", count_dict)