1.条件控制语句
1.1条件判断
1.1.1 条件判断语句(if语句)
执行的流程:
if语句在执行时,会对条件表达式进行求值判断, 如果为True,则执行if后的语句 如果为False,则不执行 语法:if 条件表达式: 代码块 代码块中保存着一组代码,同一个代码块中的代码,要么都执行要么都不执行 代码块以缩进开始,知道代码恢复到之前的缩进级别时结束 代码块就是一种为代码分组的机制
num= 30
if num > 20 and num < 40 :
print ( 'num比20大,num比40小' )
1.1.2 input()函数
该函数用来获取用户的输⼊ input()调用后,程序会立即暂停,等待用户输⼊ 用户输⼊完内容以后,点击回车程序才会继续向下执行 用户输⼊完成以后,其所输⼊的的内容会以返回值得形式返回
input特性
input需要我们从键盘输入内容,否则程序将被阻塞住 input输入内容都是一个字符串的内容
a= input ( )
print ( type ( a) )
a= int ( a)
if a== 1 :
print ( 123 )
1.1.3 if-else语句
语法: if 条件表达式 : 代码块 else : 代码块 执行流程:
if-else语句在执行时,先对if后的条件表达式进行求值判断 如果为True,则执行if后的代码块 如果为False,则执行else后的代码块
a= int ( input ( "请输入123中的一个数:" ) )
if a== 1 :
print ( 123 )
else :
print ( 678 )
1.1.4 if-elif-else 语句
语法: if 条件表达式 : 代码块 elif 条件表达式 : 代码块 elif 条件表达式 : 代码块 … else : 代码块 执行流程:
if-elif-else语句在执行时,会自上向下依次对条件表达式进行求值判 断, 如果表达式的结果为True,则执行当前代码块,然后语句结束 如果表达式的结果为False,则继续向下判断,直到找到True为止 如果所有的表达式都是False,则执行else后的代码块 总结: if-elif-else中一定只会有且只有⼀个代码块会执行
value= 30000
if value>= 30000 :
print ( '有钱任性' )
elif value>= 20000 :
print ( "有钱真好" )
elif value>= 10000 :
print ( '哥也月薪上万了' )
elif value>= 5000 :
print ( "工资还说得过去" )
elif value>= 2000 :
print ( "能养活自己了" )
else :
print ( '吃土我开心' )
练习题:根据输入的月份打印相应的季节
month= eval ( input ( "请输入月份:" ) )
if 0 < month<= 12 :
if month> 3 and month< 5 :
print ( "春季" )
elif month> 6 and month> 8 :
print ( "夏季" )
elif month> 9 and month< 11 :
print ( '秋季' )
elif month== 12 or 1 < month< 2 :
print ( '冬季' )
else :
print ( "超出范围" )
1.2 循环控制
1.2.1 while语句
循环语句可以使指定的代码块重复指定的次数.循环语句分成两种,while循环 和 for循环 语法: while 条件表达式 : 代码块 else: 代码块
i= 0
while i< 5 :
print ( 111 )
i+= 1
else :
print ( "循环正常执行完毕" )
while循环三大要素
要设定初始值 要对初始值进行约束判断 初始值要进行修改
while循环练习:求100以内所有的偶数的和
i= 0
num= 0
while i< 100 :
i += 1
if i% 2 == 0 :
num += i
print ( num)
1.2.1 break和continue
break 可以用来立即退出循环语句,包括else语句 continue 用来跳过当次循环
i= 0
while i< 5 :
print ( i)
i += 1
if i== 2 :
continue
else :
print ( "循环正常执行完毕" )
1.3 循环嵌套
Python 语⾔允许在⼀个循环体里面嵌入另⼀个循环。 语法: while 表达式: while 表达式: 代码块 代码块
'''
\*****
\*****
\*****
\*****
\*****
'''
i= 0
while i< 5 :
j = 0
while j< 5 :
print ( '*' , end= '' )
j += 1
print ( )
i+= 1
'''
打印此形状
* #i=0 j<1
** #i=1 j<2
*** # i=2 j<3
**** #i=3 j<4
***** #i=4 j<5
'''
外部循环控制行号,内部循环控制列号
i= 0
while i< 5 :
j = 0
while j< i+ 1 :
print ( '*' , end= '' )
j += 1
print ( )
i+= 1
'''
打印出此种类型
***** i=0 j<5
**** i=1 j<4
*** i=2 j<3
** i=3 j<2
* i=4 j<1
'''
i= 0
while i< 5 :
j= 0
while j< 5 - i:
print ( '*' , end= '' )
j+= 1
print ( )
i+= 1
1.3.1 打印99乘法表
'''
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
'''
i= 0
while i< 9 :
i+= 1
j= 0
while j< i:
j+= 1
print ( "{}*{}={}" . format ( j, i, j* i) , end= '\t' )
print ( )
2. 第五讲作业
for i in range ( 100 , 1000 ) :
a= i// 100
b= ( i- a* 100 ) // 10
c= ( i- a* 100 - b* 10 )
if i== pow ( a, 3 ) + pow ( b, 3 ) + pow ( c, 3 ) :
print ( i)
num = int ( input ( "请输入一个数字: " ) )
if num > 1 :
for i in range ( 2 , num) :
if ( num % i) == 0 :
print ( num, "不是质数" )
print ( i, "乘于" , num // i, "是" , num)
break
else :
print ( num, "是质数" )
else :
print ( num, "不是质数" )
猜拳游戏:(用0,1,2代表石头、剪子、布) 出拳 玩家:手动输入 电脑:随机输入 判断输赢: 玩家获胜 电脑获胜 平局
import random
player= int ( input ( '请输入您的选择:' '\t' '0代表石头' '\t' '1代表剪子' '\t' '2代表布' ) )
comP= random. randint( 1 , 3 )
if player- comP== - 1 or player- comP== 2 :
print ( "玩家获胜" )
elif comP- player== - 1 or comP- player== 2 :
print ( "电脑获胜" )
else :
print ( "平局" )
print ( "电脑输入的是{}" . format ( comP) )