python分支与循环_Python基础总结-04(分支和循环)

本文详细介绍了Python中的分支结构IF,包括其语法、嵌套使用和实例应用,如判断字符类型、年龄阶段和奖学金评定。同时,文章还探讨了Python的循环结构,包括for循环和while循环,并给出了多个示例,如累加自然数、打印矩阵和计算阶乘等。此外,还讲解了continue、break和else在循环中的作用。
摘要由CSDN通过智能技术生成

IF语句

Python中的分支结构只有IF结构,没有switch

if就是在程序中用来做判断的(需要满足一定的条件才执行某项操作可选用if语句)

语法:

if 条件语句:

执行语句块

elif:

执行语句块

else:

执行语句块

说明:

IF可以嵌套使用,IF语句块里面必须有一条语句

例子:判断字符串中随机一个字符是否为字母

import random

str1='asdf1234'

num=int(random.random()*len(str1))

#或者使用 num=random.randient(0,len(str1)-1)

'''

random

print( random.randint(1,10) ) # 产生 1 到 10 的一个整数型随机数

print( random.random() ) # 产生 0 到 1 之间的随机浮点数

print( random.uniform(1.1,5.4) ) # 产生 1.1 到 5.4 之间的随机浮点数,区间可以不是整数

print( random.choice('tomorrow') ) # 从序列中随机选取一个元素

print( random.randrange(1,100,2) ) # 生成从1到100的间隔为2的随机整数

'''

if str1[num].isalpha():

print('该字符是字母')

else:

print('该字符不是字母')

print(str1[num])

例子:随机产生年龄(1-100),根据年龄的不同判断人处于哪个阶段

age=random.randint(0,100)

if 0<=age<=3:print("幼儿")

elif 4<=age<=12:print("儿童")

elif 13<=age<=18:print("少年")

elif 19<=age<=28:print("青少年")

elif 28<=age<=45:print("中青年")

elif 46<=age<=100:print("老年")

例子:成绩(Score)和测评(test)判定奖学金

score=4.5

test=90

def honnor(score,test):

if score>4 and test>=90: print("一等奖学金")

elif 4>=score>=3.5 and test>=90: print("二等奖学金")

elif 3.5>=score>=3 and test>=85: print("三等奖学金")

else:print("没有奖学金")

honnor(score,test)

例子:判读能被4整除的偶数或被5整除的奇数

def jugle(num):

if (num & 1)==0:

print('%d 是偶数'%(num))

if num % 4 ==0:

print('%d 能被4整除'%(num))

else:

print('%d 不能被4整除'%(num))

else:

print('%d 是奇数'%(num))

if num % 5==0:

print('%d 能被5整除'%(num))

else:

print('%d 不能被5整除'%(num))

jugle(25)

循环语句

python中的循环结构有两种:for循环和while循环(当某个操作需要重复执行的时候可

(1)for循环

语法:

for 变量 in 序列:

循环体

说明:

for--关键字,固定写法

变量--变量名,按照变量要求命名

in--关键字,固定写法

序列--要求是一个值且必须是一个序列

注意:循环里面的取出来的值不一定用以用循环结构

例子:获取字符串中数字字符的个数并打印出来

def count_function(str):

count=0

num=[]

for a in str:

if a.isdigit():

num.append(a);count+=1;

print(count,num)

count_function("123456as^#dfasdf") #6 ['1', '2', '3', '4', '5', '6']

例子:1~N个自然数累加

'''

range(n):产生0~n-1范围对应的整数序列

range(m,n):产生m~n-1范围内的整数序列

range(m,n,step):产生m~n-1,间隔为step

python2.x --xrange python3.x --range

'''

def N_plus(num):

result=0

for n in range(0,num+1):

result+=n

return(result)

print(N_plus(100)) #5050

例子:打印一个变量,要求一行五个,一共五行

def print_str(str):

for _ in range(5):

for _ in range(5):

print(str,end=' ') #end参数可以控制是否换行

print("\n")

print_str("james")

#结果为:

'''

james james james james james

james james james james james

james james james james james

james james james james james

james james james james james

'''

(2)while循环

语法:

while 条件语句:

循环体

说明:

执行过程:判断条件语句为True,执行循环体;执行完循环后再判断条件语句为True,又执行循环体,以此类推,直到判断语句为False,循环结束

如果不断获取序列元素,直接用for

如果循环次数确定,用for

死循环或循环次数不确定,最好用while

例子:求n的阶乘

n=1

num=1

while n<=10:

num*=n

n+=1

print(num) #3628800

例子:用while循环获取字符串的每个字符

str='hello word!'

index=0

char=[]

while index

char.append(str[index])

index+=1

print(char) # ['h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'd', '!']

continue 、break、else

1、continue 只能写在循环体中,当遇到continue结束当次循环,跳到下次循环判断

例子:计算1-100中的奇数和

sum1=0

for x in range(0,101):

if (x & 1)==0: continue

sum1+=x

print(sum1)

2、break 写到循环体里面,直接结束循环,执行循环体外部的语句

3、else python中特有(C和Java均无),非常有用

语法:

for 变量 in 序列:

循环体

else:

代码块

while 条件语句:

循环体

else:

代码块

循环自然结束后,执行else后面的代码块;

如果循环因为遇到break结束,else后面代码不执行 (else的意义)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值