for循环练习:
- 求0~100以内偶数的和
1. sum = 0
for i in range(0,101):
#判断i是不是偶数
if i % 2 == 0:
#说明是偶数
sum += i
print(“0~100的偶数和是”, sum)
- 求0~100以内的奇数和
1. #100以内奇数的和
sum = 0
for i in range(0,100):
if i%2==1:
sum += i
print(sum)
- 一个自然数与3的和是5的倍数,与3的差是6的倍数,这个自然数最小是多少?
1. index = 0
while True:
if (index +3) %5 ==0 and (index -3) % 6 == 0:
print(index)
break
index += 1
- 在400~500之间求一个数,他被2除余1,被5除余3,被8除余1,这个数是多少?
4. for i in range(400,501):
if i % 2 == 1 and i %5 == 3 and i % 8 ==1:
print(i)
5.打印三角形(等腰三角形)
layer = int(input(“请输入打印的行数:”))
#每一行
for i in range(1,layer+1):
#计算出空格的个数
space_num = layer - i;
for j in range(0,space_num):
print (" “,end=”")
#计算个数
star_num = 2 * i -1
for j in range(0,star_num): #j变量冲突或者矛盾吗
print("",end="")
print("")6.打印实心菱形
(菱形行数数偶数行)分为一个正三角形和一个倒三角形
layer = int(input(“请输入打印的行数:”))
while layer % 2 == 0:
layer = int(input(“对不起,请输入奇数行:”))
#上半部分 共分为两个等腰三角形
for i in range(1,layer // 2 + 2):#上半部分多打印一行 layer=5
#计算出空格的个数
space_num = layer - i;
for j in range(0,space_num):
print (" “,end=”")
#计算个数
star_num = 2 * i -1
for j in range(0,star_num): #j矛盾吗
print("",end="")
print("")
#下半部分
for i in range(layer //2 , 0,-1):
#计算出空格的个数
space_num = layer - i;
for j in range(0,space_num):
print (" “,end=”")
#计算个数
star_num = 2 * i -1
for j in range(0,star_num): #j矛盾吗
print("",end="")
print("")
7.打印空心菱形
layer = int(input(“请输入打印的行数:”))
while layer % 2 == 0:
layer = int(input(“对不起,请输入奇数行:”))
#上半部分 分为两个等腰三角形
for i in range(1,layer // 2 + 2):#上半部分多打印一行 layer=5
#计算出空格的个数
space_num = layer - i;
for j in range(0,space_num):
print (" “,end=”")
#计算个数
star_num = 2i -1
for j in range(0,star_num): #j矛盾吗
if j0 or jstar_num-1:
print("*",end="")
else:
print(" “,end=”")
print("")
#下半部分
for i in range(layer //2 , 0,-1):
#计算出空格的个数
space_num = layer - i;
for j in range(0,space_num):
print (" “,end=”")#计算个数
star_num = 2 * i -1
for j in range(0,star_num): #j矛盾吗
if j0 or jstar_num-1:
print("",end="")
else:
print(" “,end=”")
print("")
layer = int(input(“请输入打印的行数:”))
while layer % 2 == 0:
layer = int(input(“对不起,请输入奇数行:”))
#上半部分 分为两个等腰三角形
for i in range(1,layer // 2 + 2):#上半部分多打印一行 layer=5
#计算第i行空格的个数
space_num = layer - i;
for j in range(0,space_num):
print (" “,end=”")
#计算地i行的个数
star_num = 2i -1
for j in range(0,star_num): #j矛盾吗
if j0 or jstar_num-1 or i==layer // 2 +1:
print("*",end="")
else:
print(" “,end=”")
print("")
#下半部分
for i in range(layer //2 , 0,-1):
#计算出空格的个数
space_num = layer - i;
for j in range(0,space_num):
print (" “,end=”")
#计算个数
star_num = 2 * i -1
for j in range(0,star_num): #j矛盾吗
if j0 or jstar_num-1:
print("",end="")
else:
print(" “,end=”")
print("")
layer = int(input(“请输入打印的行数:”))
while layer % 2 == 0:
layer = int(input(“对不起,请输入奇数行:”))
#上半部分 分为两个等腰三角形
for i in range(1,layer // 2 + 2):#上半部分多打印一行 layer=5
#计算第i行空格的个数
space_num = layer - i;
for j in range(0,space_num):
print (" “,end=”")
#计算地i行的个数
star_num = 2i -1
for j in range(0,star_num): #j矛盾吗
if j0 or jstar_num-1 or i==layer // 2 +1 or j == star_num // 2:
print("",end="")
else:
print(" “,end=”")
print("")
#下半部分
for i in range(layer //2 , 0,-1):
#计算出空格的个数
space_num = layer - i;
for j in range(0,space_num):
print (" “,end=”")
#计算个数
star_num = 2 * i -1
for j in range(0,star_num): #j矛盾吗
if j == 0 or j == star_num -1 or j == star_num // 2:
print("*",end="")
else:
print(" “,end=”")
print("")