for循环

一、for循环
1.for 循环结构
for 变量 in range(起始,终止,步长):
循环体
(终止位置取不到)
执行顺序:
1)定义变量
2)给变量赋值
3)变量和终止数值比较,若满足终止条件则停止循环
4)做循环体
5)变量自加一个步长
6)执行3
例:

for i in range(1,9,1):
    print(i)
"""
执行顺序
1.i
2.i=0
3.i<9
4.print
5.i+=1
6.执行3
"""
#累加    
sum=0
for i in range(1,9,1):
    sum += i
print(sum)
#累乘
sum=1
for i in range(1,9,1):
    sum *= i
print(sum)

2.嵌套循环:
外层循环:行
内层循环:列
例:

for i in range(0,4,1):
    for j in range(0,i+1,1):
        print("*",end=" ")      #不换行打*
    print()   					#换行

输出:
* 
* * 
* * * 
* * * * 

for i in range(0,4,1):			#行
    for k in range(0,3-i,1):	#打印空格
        print(" ",end=" ")		
    for j in range(0,i+1,1):	#列
        print("*",end=" ")
    print()
    输出结果:
    
          * 
        * * 
      * * * 
    * * * * 

3.旗帜法(立flag)
例:判断a是否为素数

a = 8
flag = False                    #立flag,使flag为假
for i in range(2,a//2+1):       #因为一个属的因字数最大不会超过这个数本身的一半,所以终止为a//2+1
    if a%i == 0:                #如果a有因子数,则flag为真
        flag = True
if flag :                       #if后加表达式,表达式的结果为bool型(flag结果也为bool型)
    print("不是素数")           # 因此若flag为假执行else,反之执行if
else:
    print("是素数")


break:提前结束循环
abs(i):绝对值
循环最多有三层
练习:

 1.盈盈为了考验令狐冲夺冠的决心,要他说一百遍“我能行!”
# for i in range (0,100,1):
#     print('我能行!')

# 2.本金10000元存入银行,年利率是千分之三,每过1年,将本金和利息相加作为新的本金。计算5年内,每年获得的本金是多少?
# for i in range (1,5,1):
#     jin = 10000*(1+0.003)**i
#     print(jin)

# 3.计算出1—100之间所有能被3整除的整数的和?
# sum = 0
# for i in range (1,101,1):
#     if i%3==0:
#        sum+=i
# print(sum)


# 4.计算1000以内所有不能被7整除的整数之和?
# sum = 0
# for i in range (0,1001,1):
#     if i%7!=0:
#         sum+=i
# print(sum)

# 5. 用while做求10到20的累加和
# sum=0
# for i in range (10,21,1):
#    sum+=i
#    print(sum)


# 6.找出一个数的所有因子数
# num = int(input('请输入一个数:'))
# for i in range (1,num,1):
#     if num%i==0:
#         print(i)


# 7. 输入一个数,判断这个数是否是素数;
#法一
# flog=1
# num = int(input('请输入一个数:'))
# for i in range(2,num,1):#素数:除了自身只有1
#     if num%i==0:
#         flog=0
#         print('不是素数')
#         break #不循环
#     if flog==1:
#         print('是素数')
#     break

#法二
# num = int(input("请输入一个数:"))
# flag=1
# if num<=3:
#     pass
# else:
#     for i in range(2,num):
#         if num%i==0:
#             flag=0
#             break
# if flag==1:
#     print('是素数')
# else:
#     print("不是素数")


# 8定义一个正整数如:1205统计它的各位数字中零的个数,并求各位数字中的最大者。
# a = 0#零的个数

# 9.有1020个西瓜,第一天卖掉总数的一半后又多卖出两个,以后每天卖剩下的一半多两个,问几天以后能卖完
# sum = 1020
# for i in range(1,1000,1):
#     sum =sum//2-2
#     if sum<=0:
#         print('第',i, '天卖完')
#         break



# 10猴子吃桃问题: 猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个,
# 第二天早上又将剩下的桃子吃了一半,又多吃一个,以后每天都吃了前一天剩下的一半零一个。
# 到第10天早上想再吃时,见只剩下一个桃子。求第一天共摘了多少个?

# tao = 1
# for i in range(1,10,1):
#     tao = 2*(tao+1)
# print(tao)


# 11. 判断一个数是否是完全数(完数指的是一个数的所有因子数的和等于这个数本身,例如 6 = 1 + 2 + 3, 即6就是完全数)
# num = int(input('请输入一个数:'))
# sum = 0
# for i in range(1,num,1):
#     if num%i==0:
#         sum+=i
# if sum==num:
#         print('是完全数')
# else:
#         print('不是')


# 12. 循环录入某学生5门课的成绩并计算平均分,如果某分数录入为负,停止录入并提示录入错误(使用break)
# zong=0#总分一开始为零
# flag=1#做个标记
# for i in range(1,6,1):
#     score = int(input('请输入分数:'))
#     if score<0:
#         flag = 0
#         print('录入错误')
#         break
#     else:
#         zong+=score
# if flag==1:
#     print(zong/5 )
  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值