python中循环与判断

1.判断  if 条件表达式:

   <1>.条件表达式为布尔值,如 == ,is ,>,<,=, in

          省略的写法,变量存在,执行if 后面的代码:

    if   a:

      xxxxxxxx

              当a 为true时执行if 后面的代码,为false不会执行

    # a=0, a=0.0,  a=[], a=(), a={}, a=None, a='', a=空对象 , 都为false,if 后面的代码都不会执行

     # if ...elif...elif....else 如果if或elif满足条件了,执行if或者elif的代码,后面的elif条件不会判断
    # if ...if....else 每个if 分支都会进行判断,都不满足条件,才执行else代码,性能不如 if ...elif...elif

    # 判断闰年
    # 练习3:根据用户输入的年份判断是否是闰年(判断闰年的方法是该年能被4整除并且不能被100整除,或者是可以被400整除)
    # year = 2000
    # if (year % 4 == 0 and year % 100 != 0) or year % 400 == 0:
    # print(f'{year}是闰年')
    # else:
    # print(f'{year}是平年')
    # 输入一行字符,分别统计其中英文字母,空格,数字和其它字符的个数
    # shuzu = zimu = kongge = qita = 0
    # source = input('请输入一段字符')
    # for i in source:
    # if i.isdigit():
    # shuzu = shuzu + 1
    # elif i.isspace():
    # kongge = kongge + 1
    # elif i.isalpha():
    # zimu = zimu + 1
    # else:
    # qita = qita + 1
    # print(shuzu)
    # print(zimu)
    # print(kongge)
    # print(qita)

2.  循环  while 循环:

    while  条件表达式(布尔值):

      内容

      break

    a= 2

    while a <=100:

      print(a)

      a=a+2

    

    flag = True
    while flag:
    a = input("请输入一个数字")
    if a.isdigit():
    print(a)
    else:
    flag = False
    print('输入的不是数字')

3.  循环  for 循环:

        1.  for  i in seq: 序列都可以做循环,for in 循环的是元素内容

    <1>. for i in (1,2,3)

    <2>. for i in [1,2,3]

              <3>. for i in 'hello'

      2.  for i in range() 按照索引来循环遍历,range可以写范围,包含下边界,不包含上边界

      3.  for index,value in enumerate   元素和下标一起循环,返回的是二维元组,包含索引和下标

4. 循环中常用算法:循环累加,循环累乘

     1-10 累加和阶乘

  # sum1 = 0
  # for i in range(1, 11):
  # sum1 = sum1 + i
  # print(sum1)

  # sum2 = 1
  # for j in range(1, 11):
  # sum2 = sum2*j
  # print(sum2)

  # i = 0
  # sum3 = 0
  # while i <= 10:
  # sum3 = sum3+i
  # i = i + 1
  # print(sum3)

  # i2 = 1
  # sum4 = 1
  # while i2 <= 10:
  # sum4 = sum4 * i2
  # i2 = i2 + 1
  # print(sum4)

5. for.....else.....  for循环成功执行完毕,没有退出,就执行else里面的代码,如果for循环中发生了break,else不会被执行,主要用来判断for 循环是否完整执行完毕,没有退出

  # 一行代码实现打印1-100之间的偶数
  # print([i for i in range(2, 101, 2)])
  # 一行代码实现打印1-100之间的偶数,倒序输出
  # print([i for i in range(100, 0, -2)])

 6.使用for 循环求出1000以内的水仙花数

  # for i in range(100, 1000):
  # bai = i // 100
  # ge = i % 10
  # shi = i % 100 // 10
  # if bai ** 3 + ge ** 3 + shi ** 3 == i:
  # print(i)

     

 
posted @ 2021-01-25 22:06  maxwell11  阅读(659)  评论(0编辑  收藏  举报