小甲鱼Python3 分支循环

分支循环

1.if 结构

if一共有五种结构,前面四种比较基础,最后一种稍微炫酷一点。

1.判断一个条件,如果这个条件成立,就执行其包含的某条语句或某个代码块。

if 3<5:
    print("1")
    print("2")
print("3")

2.判断一个条件,成立则执行其包含的某个代码块,不成立就执行另外的某条语句或者某个代码块。

if "love"=="study":
    print("I Love Study")
else:
    print("I Love Sleep")

3.判断多个条件,第一个不成立判断第二个,第二个不成立判断第三个,一直进行下去。

score=input("请输入你的分数")
score=int(score)
if 0<=score<60:
    print('D')
elif 60<=score<70:
    print('C')
elif 70<=score<80:
    print('B')
elif 80<=score<90:
    print('A')

4.第四种情况是在第三种的基础上,如果前面条件都不成立,执行某条语句。

score=input("请输入你的分数")
score=int(score)
if 0<=score<60:
    print('D')
elif 60<=score<70:
    print('C')
elif 70<=score<80:
    print('B')
elif 80<=score<90:
    print('A')
else:
    print('请输入正确分数!')

5.第五种格式为:   条件成立时执行的语句    if     condition    else     条件不成立时执行的语句

age=18
print('欢迎您')if age<18 else print('未满18岁禁止访问')

2.循环结构 

1.while结构

while(条件为真)一直执行下面的代码块。

i=1
sum=0
while i<10000000:
    sum+=i
    i+=1
print(sum)

使用break语句可以立刻跳出一层循环,不执行break后面的语句。

使用continue语句可以跳出本轮循环,但是不会终止循环,而是进行下一次循环。

i=0
while i<10:
    i+=1
    if(i%2==0):
        continue
    print(i)

使用else语句会在循环条件不为真的时候,else语句执行。break语句是直接跳出循环,如果break和else在同一段代码块里,那么break跳出之后else并不会执行。

i=1
while i<5:
    print(i)
    if(i==2):
        break
    i+=1
else:
    print("循环条件不为真")

while——else这样的设计主要是为了检测循环退出的情况。

day=1
while day<=7:
    answer=input("今天好好学习了吗")
    if answer!='yes':
        break
    day+=1
else:
    print("很棒!你已经坚持了七天打卡!")
    

3.循环嵌套

打印9*9乘法口诀表:

print里的逗号的作用是将每个print的参数(即要输出的表达式)连接在一起,以空格作为分隔符。在这段代码中,逗号使得每次循环打印的结果都在同一行上,以空格分隔。

end参数的作用是指定print函数输出结束时要使用的字符串。默认情况下,end参数的值是"\n",(换言之,print函数默认自动换行了)即换行符,表示每个print函数输出后都会换行。但在这段代码中,end参数被设置为" ",表示每个print函数输出后会使用空格作为结束符,而不是换行。

i=1
while(i<=9):
    j=1
    while j<=i:
        print(j,'*',i,'=',i*j,end=" ")
        j+=1
    print()
    i+=1

我们再来举一个例子说明print函数里end参数的作用:

i=1
while i<5:
    print(i,end='-')
    i+=1

此时,输出结果为1-2-3-4-

无论是break语句还是continue语句都只能跳出一层循环。

4.for循环

for循环语法为:   for     变量        in        可迭代对象:        statement(s)

s='lovePython'
for each in s:
    print(each)

使用while循环是否可以实现呢?可以,但是需要用到后面知识。

s='lovePython'
i=0
while i<len(s):
    print(s[i])
    i+=1

如何计算1+2+3+4+...+10000000?

这时我们必须使用range函数。range是经常和for循环出生入死的好兄弟,作用是生成一个整数序列。

range函数的基本语法是:

range(start, stop, step)

其中,start表示序列的起始值(默认为0),stop表示序列的结束值(不包括该值),step表示序列的步长(默认为1)。

range函数生成的序列是一个不可变的序列类型,可以通过list函数将其转换为列表类型。

下面是几个示例:

range(stop):生成一个从0开始,到stop-1结束的整数序列。

for i in range(5):
    print(i)
 

range(start, stop):生成一个从start开始,到stop-1结束的整数序列。

for i in range(1, 6):
    print(i)

 range(start, stop, step):生成一个从start开始,到stop-1结束的整数序列,步长为step。

for i in range(1, 10, 2):
    print(i)

接着我们回来看range函数在数字求和中的应用

sum=0
for i in range(0,10000001,1):
    sum+=i
print(sum)

我们再来看最后一个例子:打印2-10内的所有素数,如果不是素数,请你将其分解(分解成一种形式即可)

for n in range(2,11):
    for x in range(2,n):
        if n%x==0:
            print(n,'=',x,'*',n//x)
            break
    else:
        print(n,'是一个素数')

解释下怎么判断2是素数的:对于2而言,外层n是2,内层x是从2到小于2,这里面是没有元素的,因此第二层循环代码块是不执行的,那么就执行else语句,因此输出2是一个素数。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值