python循环结构最大值_Python流程控制之循环结构

当出现有规律或者是重复的事情就可以使用循环。

1、循环变量初始化

2、循环条件

3、循环体

4、改变循环变量

while循环

循环变量初始化

while 循环条件:

循环体

改变循环变量

打印1-100

a=1

while a<=100:

print(a)

a+=1

打印能被3整除,但是不能被5整除

a=1

while a<=100:

if a%3==0 and a%5!=0:

print(a)

a+=1

打印1-100的和

a=1

sum=0

while a<=100:

sum=sum+a

a+=1

print(a)

打印2008(包含)到2009(不包含)年有多少天?

a = 2008

while a<2019:

if(a%4==0 and a%100!=0) or a%400==0:

sum=sum+366

print(a)

else:

sum=sum+365

a+=1

print(sum)

for循环

for 变量 in [列表]:

循环体

打印1-100

for a in range(1,101):

print(a)

嵌套循环

1.外循环决定行数,内循环决定列数

2.外循环每执行一次,内循环执行所有次

break、continue、pass

break:结束所有循环

continue:结束本次循环

pass:没有任何意义,只是为了补全语法

练习

1.打印如下结果:

1*5=5

2*10=20

3*15=45

...

10*50=500

j =5

for i in range(1,11):

print(i,"*",j,"=",i*j)

j+=5

i=1

j=5

while i<=10:

print(i,"*",j,"=",i*j)

j+=5

i+=1

2.本金10000元存入银行,年利率是千分之三,每过1年,将本金和利息相加作为新的本金。计算5年后,获得的本金是多少?

a=10000

for y in range(5):

a=a+0.003*a

y+=1

print(a)

3.计算1900年1月1日到今天(如:2019年08月20日)相距多少天?

'''

分析:

能被4整除且又不能被100整除是闰年(366天)

能被400整除是闰年

1,3,5,7,8,10,12月份是31天

4,6,9,11月份是30天

2月份 平年28天 闰年29天(2019年是平年)

'''

sum=0

day=0

for a in range(1900,2019):

if (a % 4 == 0 and a % 100 != 0) or a % 400 == 0:

sum = sum + 366

else:

sum = sum + 365

for a in range(1,8):

if a in [1,3,5,7,8,10,12]:

sum+=31

elif a in [3,6,9,11]:

sum+=30

elif a==2:

if (a % 4 == 0 and a % 100 != 0) or a % 400 == 0:

sum+=29

else:

sum +=28

print(sum+20)

4.输入一个年份和一个月份,打印这个月的日历(提示:1900.1.1是星期一)

y=int(input("输入年份:"))

m=int(input("输入月份:"))

sum=0

for a in range(1900,y):

if (a % 4 == 0 and a % 100 != 0) or (a % 400 == 0):

sum = sum + 366

else:

sum = sum + 365

for a in range(1,m):

if a in [1,3,5,7,8,10,12]:

sum = sum + 31

elif a in [4, 6, 9, 11]:

sum = sum + 30

elif a==2:

if (y % 4 == 0 and y % 100 != 0) or (y % 400 == 0):

sum=sum+29

else:

sum=sum+28

xq=(sum+1)%7

print((sum+1)%7) #求星期

curr_day=1

if m in [1, 3, 5, 7, 8, 10, 12]:

curr_day=31

elif m in [4, 6, 9, 11]:

curr_day= 30

elif m == 2:

if (y % 4 == 0 and y % 100 != 0) or (y % 400 == 0):

curr_day=29

else:

curr_day=28

print("\t",y,"年",m,"月")

print("日\t一\t二\t三\t四\t五\t六")

for a in range(1,curr_day+1+xq):

if a<=xq:

print("\t",end="")

else:

print(a-xq,"\t",end="")

if a%7==0: # 换行

print("")

5.打印如下图案:

*

**

***

****

*****

for a in range(1,6):

for b in range(1,a+1):

print("*",end="")

print("")

6.打印如下图案:

*

***

*****

*******

*********

for a in range(1,6):

for b in range(1,2*a):

print("*",end="")

print("")

7.打印如下图案:

#####*

####***

###*****

##*******

#*********

# 行与列的规律,#的规律: b=6-a,*的规律:c=2*a-1

# 方法一

for a in range(1,6):

for b in range(6,a+6):

print("#"*(6-a)+"*"*(2*a-1),end="")

break

print("")

# 方法二

for a in range(1,6):

for b in range(5,a-1,-1):

print("#",end="")

for c in range(1,2*a):

print("*",end="")

print("")

# 方法三

for a in range(1,6):

for b in range(1,7-a):

print("#",end="")

for c in range(1,2*a):

print("*",end="")

print("")

8.(挑战题)打印如下图案:

\ \ \ \ \ *

\ \ \ \ ***

\ \ \ *****

\ \ *******

\ *********

\ \ *******

\ \ \ *****

\ \ \ \ ***

\ \ \ \ \ *

for a in range(1,6):

for b in range(1,6-a):

print(" ",end="")

for c in range(1,2*a):

print("*",end="")

print("")

for x in range(2,6):

for y in range(1,x):

print(" ",end="")

for z in range(1,10-2*y):

print("*",end="")

print("")

9.打印99乘法表

# 正

for a in range(1,10):

for b in range(1,a+1):

print(str(a)+"*"+str(b)+"="+"%2s"%str(a*b),end=" ")

print("")

# 倒

for a in range(9,0,-1):

for b in range(1,a+1):

print(str(a)+"*"+str(b)+"="+"%2s"%str(a*b),end=" ")

print("")

10.定义一个List,任意输入10个数字保存到List,然后按从小到大排序。(冒泡排序)

思路1(从左往右推):先确定最大值,然后再确定第二大的值,然后再确定第三大的值。以此类推。

lis=[]

for a in range(1,11):

number = int(input("请输入一个数字:"))

lis.append(number)

for cs in range(len(lis)):

for a in range(len(lis)-1):

if lis[a]>lis[a+1]:

temp=lis[a]

lis[a]=lis[a+1]

lis[a+1]=temp

print(lis)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值