004-Python-100-Day

循环结构
1.for-in循环
2.while循环

练习1:输入一个正整数判断是不是素数。
from math import sqrt
a = int(input(‘请输入一个正整数:’))
end = int(sqrt(a))
is_prime = True
for i in range(2,end+1):
if a % i == 0:
is_prime = False
break
if is_prime and a != 1:
print(’%d 是素数’ % a)
else:
print(’%d 不是素数’ % a)
注:这是答案代码。我的代码计算和判断采取的是暴力穷举法,应该耗时又占内存,还有判断是否是素数时,我忘了这个数不应该等于1这个条件。

练习2:输入两个正整数,计算它们的最大公约数和最小公倍数。
a = int(input(‘请输入一个正整数:’))
b = int(input(‘请输入一个正整数:’))
if a > b:
a,b = b,a
#if b % a == 0:

biggy = a

smgb = b

print(’%d和%d的最大公约数是%d’ % (a, b, biggy))

#print('%d和%d的最小公倍数是%d' % (a, b, smgb))

#else:
for i in range(a,0,-1):
if a % i ==0 and b % i ==0:
print(’%d和%d的最大公约数是%d’ % (a, b, i))
print(’%d和%d的最小公倍数是%d’ % (a, b, a * b // i))
break
注:我的代码有些繁琐,中间的几行注释掉也完全不影响’’’

练习3:打印如下所示的三角形图案。

row = int(input(‘请输入行数: ‘))
for i in range(row):
for _ in range(i + 1):
print(’*’, end=’’)
print()

for i in range(row):
for j in range(row):
if j < row - i - 1:
print(’ ‘, end=’’)
else:
print(’*’, end=’’)
print()

for i in range(row):
for _ in range(row - i - 1):
print(’ ‘, end=’’)
for _ in range(2 * i + 1):
print(’*’, end=’’)
print()

注:这几个三角,对我来说挺难的,双层循环我理解起来比较困难。

发布了3 篇原创文章 · 获赞 0 · 访问量 95

猜你喜欢

转载自blog.csdn.net/KuaKe_Ma/article/details/105108153