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)

Python基础-python流程控制之循环结构(五)

循环结构 循环结构可以减少源程序重复书写的代码量,用来描述重复执行某段算法的问题. Python中循环结构分为两类,分别是 while 和 for .. in. 一.while循环 格式1: whil ...

053 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 15 流程控制知识总结

053 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 15 流程控制知识总结 本文知识点: 流程控制知识总结 流程控制知识总结 选择结构语句 循环结构语句 ...

052 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 14 Eclipse下程序调试——debug2 多断点调试程序

052 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 14 Eclipse下程序调试--debug2 多断点调试程序 本文知识点: Eclipse下程序调 ...

051 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 13 Eclipse下程序调试——debug入门1

051 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 13 Eclipse下程序调试--debug入门1 本文知识点: 程序调试--debug入门1 程序 ...

050 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 12 continue语句

050 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 12 continue语句 本文知识点:continue语句 continue语句 continue ...

049 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 11 break语句

049 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 11 break语句 本文知识点:break语句 break语句 break语句前情回顾 1.swi ...

048 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 10 案例——阶乘的累加和

048 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 10 案例--阶乘的累加和 本文知识点:通过案例练习嵌套循环应用 案例练习--阶乘的累加和 案例题目 ...

047 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 09 嵌套while循环应用

047 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 09 嵌套while循环应用 本文知识点:嵌套while循环应用 什么是循环嵌套? 什么是循环嵌套? ...

046 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 08 for循环的注意事项

046 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 08 for循环的注意事项 本文知识点:for循环的注意事项 for循环的注意事项 for循环有3个 ...

随机推荐

CSharpGL&lpar;31&rpar;&lbrack;译&rsqb;OpenGL渲染管道那些事

CSharpGL(31)[译]OpenGL渲染管道那些事 +BIT祝威+悄悄在此留下版了个权的信息说: 开始 自认为对OpenGL的掌握到了一个小瓶颈,现在回头细细地捋一遍OpenGL渲染管道应当是一 ...

oracle sql 优化

2. 选择最有效率的表名顺序(只在基于规则的优化器中有效) ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名,因此FROM子句中写在最后的表(基础表 driving table)将被最先 ...

centos-系统语言检查设置安装

查看当前系统语言 登陆linux系统打开操作终端之后,输入 echo $LANG可以查看当前使用的系统语言. 查看安装的语言包 查看是否有中文语言包可以在终端输入 locale命令,如有zh cn 表 ...

MySQL字符集编码的理解分析

今天帮同事处理一个棘手的事情,问题是这样的: 无论在客户机用哪个版本的mysql客户端连接服务器,发现只要服务器端设置了 character-set-server = utf8之后, characte ...

子网&sol;ip&sol;子网掩码

IP地址由网络地址和主机地址组成 而现在IP由“子网掩码”通过子网网络地 址细分出 A,B,C类更小的网络.这种方式 实际上就是将原来的A类,B类,C类等分类 中的的主机地址部分用作子网地址,可以 将 ...

ubuntu编译安装opencv

简易安装opencv2: conda install --channel https://conda.anaconda.org/menpo opencv 或: sudo apt-get install ...

学习笔记 urllib

第一步: get # -*- coding:utf-8 -*- # 日期:2018/5/15 19:39 # Author:小鼠标 from urllib import request url = ' ...

【LeetCode题解】347&lowbar;前K个高频元素(Top-K-Frequent-Elements)

目录 描述 解法一:排序算法(不满足时间复杂度要求) Java 实现 Python 实现 复杂度分析 解法二:最小堆 思路 Java 实现 Python 实现 复杂度分析 解法三:桶排序(bucket ...

Exp4 恶意代码分析 20155223

Exp4 恶意代码分析 20155223 使用原生命令schtasks监视系统运行 在系统盘目录下建立脚本文件netstatlog.bat,包含以下命令: date /t >> c:\ne ...

InnoDB锁问题 &amp&semi; DB事务隔离级别

InnoDB行锁实现方式InnoDB行锁是通过给索引上 ...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值