python学习(循环练习)
循环语句
练习1: 求100以内所有的奇数之和
result = 0 #创建一个变量在外面
for i in range(100): # range(打印0-100)
if (i % 2 != 0): # 使用%来判断是否是奇数
sum +=i
print(result)
或者:
i = 0
result = 0
while i < 100:
i += 1
if ( i % 2 != 0):
result += i
print(result)
练习2: 求100以内所有7 的倍数之和,以及个数
result = 0 #所有7的和
number = 0 #计数器
for i in range(100):
if (i % 7 ==0):
result += i
number += 1
print(result,"总和")
print(number,"总数量")
练习3: 水仙花数是指一个n位数( n >= 3 ),它的每个位上的数字的n次幕之和等于它本身(例如: (1**3 + 5**3 + 3**3=153))
求1000以内所有的水仙花数
获取1000以内的三位数
for i in range(100,1000):
# a = 百位数, b = 十位数, c = 个位数
# 百位数
a = (i // 100)
# 十位数
b = (i // 10 % 10)
# 个位数
c = (i % 10)
# 判断i是否是水仙花数
if (a**3 + b**3 + c**3 == i):
print(i)
练习4:获取用户输入的任意数,判断其是否是质数。质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数
num = input("请输入一个大于1的整数:")
flage = True
# isdigit()方法检测字符串是否只由数字组成,如果字符串只包含数字则返回 True 否则返回 False。
# 判断num是否是一个合法的数字,是否大于1
if num.isdigit() == False:
print("请输入一个大于1的整数")
elif 1 >= int(num):
print("请输入一个大于1的整数")
# 判断yum是否是质数,只能被1和他只身整除的数就是质数
for i in range(2, int(num)):
if (int(num) % i == 0):
# 一旦竟然判断则证明num不是质数,将flage修改为false
flage= False
if flage:
print(num,"是个质数")
else:
print(num,"不是个质数")
或着:
num = input("请输入一个大于1的整数:")
flage = True
if num.isdigit() == False:
print("请输入一个大于1的整数")
elif 1 >= int(num):
print("请输入一个大于1的整数")
i = 2
while i < int(num):
if int(num) % i == 0:
flage = False
i += 1
if flage:
print(num,"是个质数")
else:
print(num,"不是个质数")
嵌套循环:
练习1:
打印99乘法表
i = 1
while i < 10:
j = 1
while j < i +1:
print(j,"x",i,"=",i*j ,end=" ")
j+=1
print()
i+=1
练习2:
求100以内的质数
falge = True
for i in range(2, 101):
falge = True
for j in range(2, i):
if ( i % j == 0):
falge = False
if falge:
print(i, "是质数!")
或者:
i = 2
while i <= 100:
falge = True
j = 2
while j < i:
if (i % j == 0):
falge = False
j +=1
if falge:
print(i)
i += 1