条件表达式与格式化输出

格式化输出 format %

s = 'myname is {} ,my age is {}'.format('libai',30)
s = 'myname is {0} {0},my age is {1}'.format('libai',30)
s = 'myname is {name} ,my age is {age}'.format(name='dufu',age=20)
列表展开
    L = ['libai',30]

    s = 'my name is {0[0]} ,my age is {0[1]}'.format(L)
    s = 'my name is {} ,my age is {}'.format(L[0],L[1])
    s = 'my name is {} ,my age is {}'.format('libai',30)
    s = 'my name is {} ,my age is {}'.format(*L)
    print(s)
字典展开
    D = {'name':'dufu','age':20}

    s = 'my name is {} ,my age is {}'.format(D['name'],D['age'])
    s = 'my name is {name} ,my age is {age}'.format(name='dufu',age=20)
    s = 'my name is {name} ,my age is {age}'.format(**D)
    print(s)

% 是一种传统的格式化输出方法,支持语言广泛,能看懂即可
形式: %[(name)][flags][width].[precision]typecode
'my name is %s,my age is %d' %('libai',30)
'%40d' % 123
'%.2f' % 123.666666
'my name is %(name)s,my age is %(age)d'% {'name':'libai','age':30}

分支结构 if语句

代码块区分的方法 ,python使用缩进的方式来处理
python缩进可以使用tab键也可以使用空格,必须要统一,强烈建议使用空格,并且建议使用4个空格
为了方便会将编译器的tab键映射成4个空格: pycharm sublime notepad++ 默认配置好了, vim vi 需要单独配置

shell:  
    if 条件;then
        语句1
        语句1
        语句1
    else
        语句2
        语句2
        语句2
        语句2
        语句2
    fi

C :
    if 条件{
            语句1
            语句1
            语句1
        }else{
            语句2
            语句2
            语句2
            语句2
        }

python: 
    if 条件:
        语句1
        语句1
        语句1
    else:
        语句2
        语句2
        语句2
        语句2

if 语句形式

形式1:
    if 条件:
        代码块

形式2:
    if 条件:
        代码块1
    else:
        代码块2

    双分支三元操作:
        ret = 代码1 if 条件 else 代码2

形式3:
    if 条件1:
        代码块1
    elif 条件2:
        代码块2
    else:
        代码3

if 语句示例:

例1: 判断学生成绩,如果大于等于80则输出成绩
    score = 50
    if score >= 80:
        print(score)

例2: 如果学生成绩大于等于60则输出及格,否则输出不及格
    score = 70
    if score >= 60:
        print('及格')
    else:
        print('不及格')

例3: 如果学生成绩大于等于80输出优秀,大于等于60则输出及格,否则输出不及格
    score = 90
    if score >= 80:
        print('优秀')
    elif score >= 60:
        print('及格')
    else:
        print('不及格')

例4: 
    执行程序,用户输入一下年份,打印此年是平年还是闰年。
    ①、某年能被4整除且不能被100整除的为闰年(2004是闰年,1901年不是闰年) 
    ②、某年能被400整除的是闰年。(如2000年是闰年,1900年不是闰年) 

    year = input('please input a year: \n')
    year = year.strip()

    if not year.isdigit():
        print('{} is invalid'.format(year))
        exit()

    year = int(year)
    if year % 4 == 0 and year % 100 != 0:
        print('{} 是闰年'.format(year))
    elif year % 400 == 0:
        print('{} 是闰年'.format(year))
    else:
        print('{} 是平年'.format(year))

例5:
    执行程序,用户输入一下年份,打印此年是平年还是闰年。
    ①、某年能被4整除且不能被100整除的为闰年(2004是闰年,1901年不是闰年) 
    ②、某年能被400整除的是闰年。(如2000年是闰年,1900年不是闰年) 
    ③、对于数值很大的年份(不小于3200),这年如果能整除172800则是闰年。

    year = input('please input a year: \n')
    year = year.strip()

    if not year.isdigit():
        print('{} is invalid'.format(year))
        exit()

    year = int(year)
    if year >= 3200:
        #大年判定
        if year % 172800 == 0:
            print('{} 是闰年'.format(year))
        else:
            print('{} 是平年'.format(year))
    else:
        #小年的判定
        if year % 4 == 0 and year % 100 != 0:
            print('{} 是闰年'.format(year))
        elif year % 400 == 0:
            print('{} 是闰年'.format(year))
        else:
            print('{} 是平年'.format(year))

例6:水仙花数(用户输入一个三位数,判断此数是否为水仙花数)
    水仙花数(daffodils number)是指一个 n 位数 ( n ≥ 3 ),它的每个位上的数字的 n 次幂之和等于它本身。
    例如:1 ^ 3 + 5 ^ 3 + 3 ^ 3 = 153
    三位的水仙花数共有4个:153,370,371,407;

        num = input('please input a number :\n')
        num = num.strip()

        if len(num) != 3 or  not num.isdigit():
            print('{} is invalid'.format(num))
            exit()

        bai = int(num[0])
        shi = int(num[1])
        ge = int(num[2])

        tmp = bai ** 3 + shi ** 3 + ge ** 3
        if tmp == int(num):
            print(True)
        else:
            print(False)

 例7:判断一个数是不是完全平方数(一个数可以写成两个相同整数的乘积)
    num = input('please input a number :\n')
    num = num.strip()

    if  not num.isdigit():
        print('{} is invalid'.format(num))
        exit()

    num = int(num)
    tmp = num ** 0.5

    if tmp == int(tmp):
        print(True)
    else:
        print(False)

 例8:三个数的排序,用户输入 三个数,对这三个数进行由小大到的排序

    num1 = input('please input a number :\n')
    num1 = num1.strip()
    num2 = input('please input a number :\n')
    num2 = num2.strip()
    num3 = input('please input a number :\n')
    num3 = num3.strip()

    if not (num1.isdigit() and num2.isdigit() and num3.isdigit()):
        print('{} or {} or {} is invalid'.format(num1,num2,num3))
        exit()

    num1 = int(num1)
    num2 = int(num2)
    num3 = int(num3)

    if num1 > num2:
        num1,num2 = num2,num1
    if num1 > num3:
        num1,num3 = num3,num1
    if num2 > num3:
        num2,num3 = num3,num2

    print('{} {} {}'.format(num1,num2,num3))
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值