格式化输出 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))