pythonif循环_三. python 循环if,while,for....

一 .if流程控制语句

if语句:

格式:

if表达式:

语句

1. if语句

#练习if语句

aa=int(input("请你输入一个数是否是奇偶:"))if aa%2==0:print("是偶数")else:print("是奇数")

2. if语句else

#练习if语句

aa=int(input("请你输入一个数是否是奇偶:"))if aa%2==0:print("是偶数")else:print("是奇数")

#水仙花数#aa=153%10 #3 各位#aa=153//10 #15#aa=153//10%10 # 5 十位#aa=153//100 #1 百位#求水仙花树

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

aa=num%10bb=num//10%10cc=num//100

if num==aa**3+bb**3+cc**3:print("是水仙花数")else:print("不是一个水仙花数")

案例一水仙花数

#找最大值

num1=int(input())

num2=int(input())

num3=int(input())

max=num1 #假设

if num2>num1:

max=num2if num3>max:

max=num3print("max=",max)

案例找最大值

二 .if ..elif..流程控制语句

if 语句的判断条件可以用>(大于)、=(大于等于)、<=(小于等于)来表示其关系。

当判断条件为多个值时,可以使用以下形式:

if 判断条件1:

执行语句1……

elif 判断条件2:

执行语句2……

elif 判断条件3:

执行语句3……

else:

执行语句4……

num = 5

if num == 3: #判断num的值

print 'boss'

elif num == 2:print 'user'

elif num == 1:print 'worker'

elif num < 0: #值小于零时输出

print 'error'

else:print 'roadman' #条件均不成立时输出

#!/usr/bin/env python

name=input('请输入用户名字:')

password=input('请输入密码:')if name == 'egon' and password == '123':print('egon login success')else:print('用户名或密码错误')

练习一:用户登陆验证

用户登陆验证

#!/usr/bin/env python#根据用户输入内容打印其权限

'''egon --> 超级管理员

tom --> 普通管理员

jack,rain --> 业务主管

其他 --> 普通用户'''name=input('请输入用户名字:')if name == 'egon':print('超级管理员')elif name == 'tom':print('普通管理员')elif name == 'jack' or name == 'rain':print('业务主管')else:print('普通用户')

练习二:根据用户输入内容输出其权限

根据用户输入内容输出其权限

三 .流程控制之while循环

1. while循环

while 条件:

# 循环体

# 如果条件为真,那么循环体则执行,执行完毕后再次循环,重新判断条件。。。

# 如果条件为假,那么循环体不执行,循环终止

count=0while count <= 10:print('loop',count)

count+=1

打印0-10

count=0while count <= 10:if count%2 ==0:print('loop',count)

count+=1

打印0-10之间的偶数

num=0while num<5:

num=num+1

print(num)#1#2#3#4#5

输出一到五的值

##

sum=0

num=1

while num<=100:

sum+=num

num+=1

print(sum) #5050

计算100一百的和

##

str="ABCDEFGAAAAAAAAAAA"index=0while index

index+=1

#1 ==== B#2 ==== C#3 ==== D#4 ==== E#5 ==== F#6 ==== G

打印字符串每一个

#输出所有三位数的水仙花数

num=100

while num<=999:

a=num%10b=num//10%10c=num//100

if num==a**3+b**3+c**3:print(num)

num+=1

#153#370#371#407

水仙花数

str=input("请输入字符串:")

index=0

sum=0while index="0" and str[index]<="9":

sum+=int(str[index])

index+=1

print(sum)#字符串比较大小是比的ASCII的值

计算字符串的下标的和

tag=Truewhiletag:

......whiletag:

........whiletag:

tag=False

循环嵌套

#与其它语言else 一般只与if 搭配不同,在Python 中还有个while ...else 语句,while 后面的else 作用是指,当while 循环正常执行完,中间没有被break 中止的话,就会执行else后面的语句

count =0while count <= 5:

count+= 1

print("Loop",count)else:print("循环正常执行完啦")print("-----out of while loop ------")

输出

Loop1Loop2Loop3Loop4Loop5Loop6循环正常执行完啦-----out of while loop ------

#如果执行过程中被break啦,就不会执行else的语句啦

count =0while count <= 5:

count+= 1

if count == 3:break

print("Loop",count)else:print("循环正常执行完啦")print("-----out of while loop ------")

输出

Loop1Loop2

-----out of while loop ------

2.死循环

importtime

num=0whileTrue:print('count',num)

time.sleep(1)

num+=1

#死循环 表达式永远为真的循环

while 2:print("哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈")

var= 1

while var == 1 : #该条件永远为true,循环将无限执行下去

num = raw_input("Enter a number :")print "You entered:", num

四. 流程控制之for循环

1 .for 语句

格式:

for 变量名 in 集合

语句

for aa in 'Python': #第一个实例

print ('当前字母 :', aa)#当前字母 : P#当前字母 : y#当前字母 : t#当前字母 : h#当前字母 : o#当前字母 : n

for循环字符串

fruits = ['banana', 'apple', 'mango']for bb in fruits: #第二个实例

print ('当前字母 :', bb)#当前字母 : banana#当前字母 : apple#当前字母 : mango

for循环列表

#range() 函数 列表生成器#功能:生成数列

print(range(10)) #range(0, 10)

for aa in range(5):print(aa) #0 1 2 3 4

for循环与range生成器函数

for b in range(2,20,2):print(b) #

#2#4#6#8#10#12#14#16#18

for与range

使用for循环同时遍历元素下标

numerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。

Python 2.3. 以上版本可用,2.6 添加 start 参数

# enumerate(sequence, [start=0])

参数

sequence -- 一个序列、迭代器或其他支持迭代对象。

start -- 下标起始位置

seq = ['one', 'two', 'three']for i, element inenumerate(seq):print(i, element)#0 one#1 two#2 three

#for 循环求一加到100

sum=0for a in range(1,101): #5050

sum+=aprint(sum)

五 .break语句

break语句用来终止循环语句,即循环条件没有False条件或者序列还没被完全递归完,

也会停止执行循环语句。

break语句用在while和for循环中。

注意:只能结束最近的循环   就是当前循环

#!/usr/bin/python#-*- coding: UTF-8 -*-

for letter in 'Python': #第一个实例

if letter == 'h':break

print ('当前字母 :', letter)#当前字母 : P#当前字母 : y#当前字母 : t

var = 10 #第二个实例

while var >0:print ('当前变量值 :', var)

var= var -1

if var == 5: #当变量 var 等于 5 时退出循环

break

#当前变量值 : 10#当前变量值 : 9#当前变量值 : 8#当前变量值 : 7#当前变量值 : 6#

break案例

#注意循环中可以有else语句 break导致循环截止 不会执行else里的语句

num=1

while num<=10:print(num) #1 2 3

if num==3:breaknum+=1

else:print("因为有braek就不会执行else中的语句")

六 . continue语句

Python continue 语句跳出本次循环,而break跳出整个循环。

continue 语句用来告诉Python跳过当前循环的剩余语句,然后继续进行下一轮循环。

continue语句用在while和for循环中。

当前最近的循环

#

var = 10 #第二个实例

while var >0:

var= var -1

if var == 5:continue

print ('当前变量值 :', var)#当前变量值 : 9#当前变量值 : 8#当前变量值 : 7#当前变量值 : 6#当前变量值 : 4#当前变量值 : 3#当前变量值 : 2#当前变量值 : 1#当前变量值 : 0

for letter in 'Python': #第一个实例

if letter == 'h':continue

print ('当前字母 :', letter)#当前字母 : P#当前字母 : y#当前字母 : t#当前字母 : o#当前字母 : n#

#break用于退出本层循环

whileTrue:print "123"

break

print "456"

#continue用于退出本次循环,继续下一次循环

whileTrue:print "123"

continue

print "456"

七 .练习for ,while , for break ,continue

#1. 使用while循环输出1 2 3 4 5 6 8 9 10#2. 求1-100的所有数的和#3. 输出 1-100 内的所有奇数#4. 输出 1-100 内的所有偶数#5. 求1-2+3-4+5 ... 99的所有数的和#6. 用户登陆(三次机会重试)#7:猜年龄游戏

要求:

允许用户最多尝试3次,3次都没猜对的话,就直接退出,如果猜对了,打印恭喜信息并退出#8:猜年龄游戏升级版

要求:

允许用户最多尝试3次

每尝试3次后,如果还没猜对,就问用户是否还想继续玩,如果回答Y或y, 就继续让其猜3次,以此往复,如果回答N或n,就退出程序

如何猜对了,就直接退出#题一

count=1

while count <= 10:if count == 7:

count+=1

continue

print(count)

count+=1count=1

while count <= 10:if count != 7:print(count)

count+=1

#题目二

res=0

count=1

while count <= 100:

res+=count

count+=1

print(res)#题目三

count=1

while count <= 100:if count%2 !=0:print(count)

count+=1

#题目四

count=1

while count <= 100:if count%2 ==0:print(count)

count+=1

#题目五

res=0

count=1

while count <= 5:if count%2 ==0:

res-=countelse:

res+=count

count+=1

print(res)#题目六

count=0while count < 3:

name=input('请输入用户名:')

password=input('请输入密码:')if name == 'egon' and password == '123':print('login success')break

else:print('用户名或者密码错误')

count+=1

#题目七

age_of_oldboy=73count=0while count < 3:

guess=int(input('>>:'))if guess ==age_of_oldboy:print('you got it')breakcount+=1

#题目八

age_of_oldboy=73count=0whileTrue:if count == 3:

choice=input('继续(Y/N?)>>:')if choice == 'Y' or choice == 'y':

count=0else:breakguess=int(input('>>:'))if guess ==age_of_oldboy:print('you got it')breakcount+=1

#打印九九乘法表

for i in range(1,10):

for j in range(1,i+1):

print('%s*%s=%s' %(i,j,i*j),end=' ')

print()

#分析

'''#max_level=5

* #current_level=1,空格数=4,*号数=1

*** #current_level=2,空格数=3,*号数=3

***** #current_level=3,空格数=2,*号数=5

******* #current_level=4,空格数=1,*号数=7

********* #current_level=5,空格数=0,*号数=9

#数学表达式

空格数=max_level-current_level

*号数=2*current_level-1'''

#实现

max_level=5

for current_level in range(1,max_level+1):for i in range(max_level-current_level):print(' ',end='') #在一行中连续打印多个空格

for j in range(2*current_level-1):print('*',end='') #在一行中连续打印多个空格

print()

打印金字塔

8 .三元运算符

#三元运算符

a=6b=2f=a if a>b elsebprint(f)#变量 = 条件返回True的结果 if 条件 else 条件返回Fales结果#6

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值