Python学习笔记week3
第四章-程序的流程控制
1.程序的组织结构
选择结构
Ture执行,False跳过
if 表达式:
语句块**(前有缩进)**
n=98#赋值
if n%2:#98%2的余数是0,0的布尔值为Flase
print(n,'是奇数')#该行代码不执行
if not n%2:
print(n,'偶数')
x=input('请输入一个字符串')
if x: #在Python中一切皆对象,每个对象都有一个布尔值,而非空字符串的布尔值均为Ture,空字符串的布尔值为Flase
print('x是一个非空字符串')
if not x:#空字符串的布尔值F,取反,T
print('x是一个空字符串')
flag=eval(input())#输入Ture Flase
if flag:
print('flag的值为Ture')
if
if a>b:max=a#语句块中只有一句,赋最大值
双分支结构
if else
result='恭喜你中奖了' if number==987654 else '你没中将'
print(result)
多分支结构
score=eval(input())
if score<0 or score>100
print('成绩有误')
elif 0<=csore<60:
print('D')
else:
print(A)
嵌套if
多个条件的连接
and:同时为Ture
user=input('请输入你的用户名')
pwd=input('请输入你的密码')
if user=='周恩泽' and pwd=='888888':
print('登入成功')
else:
print('用户名或密码不正确')
or:一个可以就行
2.循环结构
遍历循环for的语法结构
for循环变量 in 遍历对象:
语句块
for else结构
#遍历字符串
for i in 'hello':
print(i)
#range()函数,python中内置函数,产生一个{n.m)的整数序列
for i in range(1,11):
if i%2==0:
print(i,'是偶数'—)
s=0#用于存储累加和
for i in range(1,11):
s+=i#相当于s=s+i
print(s)
print('100到999之间的水仙花数')
'''153=3*3*3+5*5*5+1*1*1
'''
for i in range(100,1000):
sd=i%10#获取个位上的数字
tens=i//10%10#获取十位上的数字
hundred=i//100
#判断
if sd**3+tens**3+hundred**3==i:
print(i)
扩展 for else
s=0#用于存储累加和
for i in range(1,11):
s+=i
else:
print(s)
无限循环
#初始化变量
answer=input('今天上不上课?y/n')
while answer=='y':#条件判断
print('好好学习,天天向上')#语句块
#改变变量
answer=input('今天上不上课?y/n')
#1-100之间的累加
s=0#存储累加和
i=1#初始化变量
while i<=100:#语句判断
s+=i#语句块
#改变变量
i+=1
print(s)
while else 扩展
break continue
一1、break用于跳出一个循环体或者完全结束一个循环,不仅可以结束其所在的循环,还可结束其外层循环。
注意:
(1)只能在循环体内和switch语句体内使用break。
(2)不管是哪种循环,一旦在循环体中遇到break,系统将完全结束循环,开始执行循环之后的代码。
(3)当break出现在循环体中的switch语句体内时,起作用只是跳出该switch语句体,并不能终止循环体的执行。若想强行终止循环体的执行,可以在循环体中,但并不在switch语句中设置break语句,满足某种条件则跳出本层循环体。
2、continue语句的作用是跳过本次循环体中剩下尚未执行的语句,立即进行下一次的循环条件判定,可以理解为只是中止(跳过)本次循环,接着开始下一次循环。
注意:
(1)continue语句并没有使整个循环终止。
(2)continue 只能在循环语句中使用,即只能在 for、while 和 do…while 语句中使用。
public class Test1{
public static void main(String[] args){
for (int i = 1; i <= 5; i++) {
System.out.println("快乐的做菜~~~~");
if(i == 3) { //给老婆做菜第3天
break; // 跳出并结束当前循环的执行
}
}
}
}
public class Test2{
public static void main(String[] args){
for(int i = 1; i <= 5; i++ ){
if(i == 3){ //给老婆做菜第3天
continue;//立即跳出当次执行,进入下一次循环
}
System.out.println("给老婆第"+ i +"天做菜");
}
}
}