Python中的分支结构和循环结构.

分支结构(if语句)

1.三种结构:

  • if
  • if else
  • if elif else

计算当前日期与生日的关系,使用三层的if结构.

import datetime
#pytho自带的库,可以进行日期,时间的运算
#打印今天的日期
print('今天的日期:',datetime.date.today())
print('请输入你的生日:')
m = int(input('月:'))
d = int(input('日:'))
birth = datetime.date(2019,m,d)
if birth > datetime.date.today():
    print('你今年的生日还没过!')
    a = (birth-datetime.date.today()).days
    print('你还有{}天过生日'.format(a))
elif birth < datetime.date.today():
    print('你的生日已经过了')
    a = (datetime.date.today()-birth).days
    print('你已经过了生日{}天了'.format(a))
else :
	print('今天是你的生日,生日快乐')

多路分支

score = int(input('请输入你的成绩:'))
if score < 60:
	print('你的成绩不及格')
elif score < 70:
	print('你的成绩及格')	
elif score < 80:
	print('你的成绩良好')
elif score <= 100 :
	print('你的成绩优秀')

循环结构

for…in…结构:

#最基本语法:
for i in [1,2,3]:
	print(i)

适合于固定次数的循环

for循环中经常使用range函数,
range介绍:
range() 函数可创建一个整数列表
语法:range(start, stop[, step])
start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);
stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5,左闭右开区间
step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)

#用法
>>>range(10)        # 从 0 开始到 10
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> range(1, 11)     # 从 1 开始到 11
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> range(0, 30, 5)  # 步长为 5
[0, 5, 10, 15, 20, 25]
>>> range(0, 10, 3)  # 步长为 3
[0, 3, 6, 9]
>>> range(0, -10, -1) # 负数
[0, -1, -2, -3, -4, -5, -6, -7, -8, -9]
>>> range(0)
[]
>>> range(1, 0)
[]

求出1+2+3+…99的值:

sum = 1
i = 1
print(i,end = ' ')
for i in range(2,100):
	sum += i
	print( '+' i,end = ' ')
	#end = ' '作用在于不换行,直到遇到下一个不带end的print或者输出' '时换行. 
print('=',sum)

while 结构

#最基本语法:
while k < 10;
	print(k)
	k+= 1

适用于不确定次数的循环

当sum的值大于10000时,跳出循环

sum = 0
i = 1
while sum<10000:
	print(i,"+ ",end = ' ')
	sum += i
	i += 1
print('\b\b\b=' , sum) 
#\b可以退格,将最后的+覆盖

循环嵌套:

最经典应用: 九九乘法表

#for 循环实现
for i in range(1,10):
	for j in range(1,i+1):
		print('{}*{}={}\t'.format(i,j,i*j),end = ' ' )
	print(' ')
#while循环实现
i = 1
while i < 10:
	j = 1
	while j <= i:
		print('{}*{}={}\t'.format(i,j,i*j),end = ' ' )
		#\t是制表符,使输出规范. 
		j += 1
	print(' ')
	i += 1	

也可以一行代码完成:

print('\n'.join([' '.join(['{} * {} = {}'.format(i,j,i*j) for j in range(1,i+1)])  for i in range(1,10)]))
#其中用到了join函数和[x for x in list ]的嵌套用法,留待以后补充.
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值