Python3的fo if while

发布时间:2019-08-12 11:52:20编辑:auto阅读(1482)

    一、if语句
    1.python 的缩进。
    以冒号为界,有4个空格的缩进。在开始写代码。

    2.if 语句的格式:
    在Python中,if语句包含以下部分:
    if 判断条件
    执行语句
    elif 判断条件
    执行语句
    else:
    执行语句
    三者走其一,三者是相互排斥的。

    简单的例子:

    print('please input you ID : ')
    name = input()
    if name == 'zhouyang':
        print('hello zhouyang')
    else:
        print('miss you ID')
    print('input you passwd')
    passwd = input()
    if passwd == '123456':
        print('Access granted')
    else:
        print('Wrong passwd.')
    if条件判断
    1.if a.strip(): #数据判断 (字符串),判断是否是空
    2.if isinstance(d, dict): #判断类型
    print("{0} is dict".format(d))
    二、while 循环
    1.while语法格式:
    while 判断条件:
    执行语句
    看个例子:
    a = 10
    whlie a >= 1:
    print(a)
    a -= 1


    当a 小于 1 就退出循环了。
    2.break,continue
    break 跳出循环
    continue 跳出本次循环
    a = 10
    whlie a >= 1:
    print(a)
    a -= 1
    if a == 5:
    break
    if a == 7:
    print("777")
    continue
    3.死循环,知道输入正确的条件才可以停止
    while 1:
        a = input("please input you age : ")
        if a.strip():
            if a.isdigit():
                if int(a) >= 18:
                    print("你是成年人")
                    break
                else:
                    print("你是未成年")
                    break
            else:
                print("你的输入错误")
                continue
        else:
            print("你的输入错误")

    三、For循环
    1.for 循环语法:
    for item in sequence:
    执行语句
    2.enumerate()函数,统计对应的下标和值。

    l = ['a', 'b', 'c', 'd', 'e']
    for x, y in enumerate(l):
        print(x, y)


    写一个九九乘法表:
    for i in range(1,10):
    for x in range(1,i+1):
    print("{0} * {1} = {2}".format(i, x, i*x), end=" ")
    print("")

    习题1.统计字母,数字,空格,其他字符的数量
    something = input("随便输入几个字符: ")
    qita = kongge = zimu = num = 0
    
    for i in something:
        if i.isdigit():
            num += 1
        elif i.isalpha():
            zimu += 1
        elif i.isspace():
            kongge += 1
        else:
            qita += 1
    print("数字有{0}个,字母有{1}个,空格有{2}个,其他字符有{3}个".format(num, zimu, kongge, qita))



    习题2.计算阶乘相加
    0!+ 1!+ 2!+ 3!+ .....+ n! 的阶乘的和
    1! = 1
    2!= 2*1
    3!= 3*2*1
    def jiecheng(n):                                   #定义一个函数,计算阶乘的和
        tmp = 1                                        #定义一个起始数,为1,不能为0 。因为0乘以任何数都为0
        if n == 0:                                     #当 n 为 0 ,结果就是1,,0的阶乘就是1
            tmp = 1
        else:
            for i in range(1, n+1):                    #使用range函数来得到n的所有数字,通过for循环来赋值给i。
                tmp *= i                               #得到结果
        return tmp
    
    
    while True:
        sum = 0                                       # 定义初始值
        n = input("请输入数字: ")                    #为什么不用int 强制转换,考虑会有数字和字母的组合,报错提示不友好。
        for i in n:                                   #判断是否是纯数字
            if not i.isdigit():
                print("你输入的不是纯数字")           #如果不是就退出整个循环,这里用exit而不是用break 是因为break 只是跳出了for循环。
                exit()
        if int(n) < 0:                                #判断用户输入的是否是大于0 
            print("你输入的不是正数")
            break                                     #不是就退出脚本
        for i in range(0, int(n) + 1):                #使用range函数来得到n的所有数字,通过for循环来赋值给i
            sum += jiecheng(i)                        #得到结果。
        print("0! + 1! + 2! + 3!  .... + n! = {0}".format(sum))

关键字