Python 动手练:循环语句2

循环语句在 Python 及任何其他编程语言中都很重要,因为可以重复执行代码块。Python 中有两种类型的循环,for 和 while。

建议:根据提示完成练习后,再参考文末示例代码。

练习 1:素数

素数就是质数,是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。

编写一个程序,输出一个范围内所有的素数。

提示

设置起始、结束范围。

设置标志flag = 0,找到因数后flag = 1。

如果flag == 0,输出素数。

练习 2:斐波那契数列

斐波那契数列(Fibonacci sequence),又称黄金分割数列,因数学家莱昂纳多·斐波那契(Leonardo Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34,下一个数字是通过将它前面的两个数字相加来找到的。

提示

设置序列的前两个数字:num1 = 0,num2 = 1。

运行循环十次。

在每次迭代中,输出前两个数之和,res = num1+ num2。

交换数值。

练习 3:数的阶乘

编写一个程序以使用循环来计算给定数字的阶乘。

提示

使用 for 循环迭代从 1 开始到给定的数字。

在每次迭代中,乘以迭代数字。

练习 4:反转给定整数

例: 输入 12345 输出 54321

提示

给定数值:num1。

反转数值:num2 = 0。

利用取余运算符“%”,num1%10,获取最后一位数。

获取的最后一位数累加到num2*10。

利用整除运算符“//”,num1//10,去掉最后一位数。

练习 5:输出以下图形

* 
* * 
* * * 
* * * * 
* * * * * 
* * * * 
* * * 
* * 
*

提示

使用两个 for 循环。

第一个 for 循环用于打印上半部图案。

* 
* * 
* * * 
* * * * 
* * * * * 

第二个 for 循环用于打印下半部图案

* * * * 
* * * 
* * 
*
# 练习 1
start = 25
end = 50
print(f"{start}~{end}之间的素数有:")
for num in range(start, end + 1):
    flag = 0
    for i in range(2, num):
        if num % i == 0:
            flag = 1
            break
    if flag == 0:
        print(num)
# 练习 2
num1, num2 = 0, 1
for i in range(10):
    print(num1, end="  ")
    res = num1 + num2
    num1 = num2
    num2 = res
# 练习 3
num = 5
factorial = 1
for i in range(1, num + 1):
    factorial = factorial * i
print(f"{num}的阶乘是:{factorial}")
# 练习 4
num1 = 12345
num2 = 0
print("给定的数字是:", num1)
while num1 > 0:
    temp = num1 % 10
    num2 = num2 * 10 + temp
    num1 = num1 // 10
print("反转数字: ", num2)
# 练习 5
rows = 5
for i in range(0, rows):
    for j in range(0, i + 1):
        print("*", end=' ')
    print()

for i in range(rows, 0, -1):
    for j in range(0, i - 1):
        print("*", end=' ')
    print()

文章创作不易,如果您喜欢这篇文章,请关注、点赞并分享给朋友。如有意见和建议,请在评论中反馈!