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