我的博客第五篇
条件判断语句(if语句)
执行的流程:
。if语句在执行时,会先对条件表达式进行求值判断,
。如果为True,则执行if后的语句
。如果为False,则不执行
语法:if 条件表达式 :
代码块
代码块代码块中保存着⼀组代码,同⼀个代码块中的代码,要么都执⾏要么
都不执⾏
代码块以缩进开始,直到代码恢复到之前的缩进级别时结束
代码块就是⼀种为代码分组的机制
if-elif-else
语法:
if 条件表达式 :
代码块
elif 条件表达式 :
代码块
elif 条件表达式 :
代码块
…
else :
代码块
while 循环
语法:
while 条件表达式 :
代码块
else:
代码块
break和continue
break 可以用来立即退出循环语句,包括else语句
continue 用来跳过当初循环
random模块
random.randint(0,9) #随机
代码练习:
#条件判断语句:
a = int(input('请输入0,1,2三个数中间的一个:'))
if a == 0:
print(123)
if a == 1:
print('hello')
if a == 2:
print('gagagaga')
num = 30
if num > 20 and num <40:
print('num比20大,num比40小')
#结果 num比20大,num比40小
#input()函数有一个阻塞的作用,只有当输入了东西之后程序才会继续往下执行
s = input('请输入:') #如输入123
print(type(s))
#结果 <class 'str'>
#类型强制转换
#str()
#int()
#float()
str1 = int(input('请输入0,1,2三个数中的一个:'))
if str1 == 0:
print(123)
else:
print('hello')
# 语法: if 条件表达式:
# 代码块
# else:
# 代码块
#if-elif-else练习:
# #语法:• 语法:
# if 条件表达式 :
# 代码块
# elif 条件表达式 :
# 代码块
# elif 条件表达式 :
# 代码块
# ........
# else :
# 代码块
while True:
value = int(input('请输入数字:'))
if value >= 30000:
print('有钱任性')
elif value >=10000 and value <20000:
print('哥页月薪上万了')
elif value >= 20000:
print('有钱真好')
elif value >= 5000:
print('工资说得过去')
elif value >= 2000:
print('能养活自己了')
else:
print('可以吃土了!')
#if语句练习
# 根据指定的月份打印该月份是什么季节
# 345是春季
# 678是夏季
# 9 10 11 秋季
# 12 1 2是冬季
while True:
month = float(input('请输入月份:'))
if 0 < month <= 12:
if 3 <= month <= 5:
print('春季')
elif 6 <= month <= 8:
print('夏季')
elif 9 <= month <= 11:
print('秋季')
else:
print('冬季')
else:
print('请输入正确的月份')
#while 循环 练习:
#语法: while 条件表达式:
# 代码块
# else:
# 代码块
#死循环
i = 0
while i < 10:
i += 1
print(i)
else:
print('执行结束')
#结果
1
2
3
4
5
6
7
8
9
10
执行结束
#while循环三要素
#1.设置初始值
#2.设定条件判断
#3.变量做自增长
# 求100以内的所有偶数之和
# 首先拿到1-100的数
# 取偶数
# 相加
方法1:
i = 0
r = 0
while i < 100:
i += 1
# print(i)
if i % 2 == 0:
r += i
print(r)
#结果2550
方法2:
i = 0
r = 0
while i < 100:
i += 2
r += i
print(r)
#结果2550
#while 循环嵌套练习:
i = 0
while i < 5:
j = 0
while j < 5:
print('*',end='')
j += 1
print()
i += 1
#结果
*****
*****
*****
*****
*****
"""
*
**
***
****
*****
"""
i = 0
while i < 5:
j = 0
while j < i + 1:
print('*',end='')
j+=1
print()
i += 1
"""
*****
****
***
**
*
"""
i = 0
while i < 5:
j = 0
while j < 5-i:
print('*',end='')
j+=1
print()
i += 1
#99乘法表:
i = 0
while i < 9:
i += 1 #因为i=0 有“0”的出现 ,所以要把"i+=1" 挪到上面来
j = 0
while j < i:
j += 1
print(f'{j}*{i}={j*i}',end='\t')
print()
#continue
i = 0
while i < 6:
i += 1
if i == 3:
continue
print(i)
else:
print('执行完毕')
import random #随机函数
s = random.randint(0, 9)
print(s)
作业
1. 求1000以内所有的水仙花数
i = 100
while i < 1000:
a = i // 100 #求百位数
b = (i - a * 100) // 10 #求十位数
c = i % 10 #求个位数
if a ** 3 + b ** 3 + c ** 3 == i:
print(i,'是水仙花数')
i += 1
2. 获取用户输入的任意数,判断其是否是质数?
质数又称为素数,是一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;否则称为合数
num = int(input('请输入任意整数:'))
i = 2
if num ==2 or num ==3 or num ==5:
print('输入的是质数')
#用2,3,5 去判断数字数不是质数,如果余数为0说明不是质数
elif num % 2 == 0 or num % 3 ==0 or num % 5 ==0:
print('输入的不是质数')
elif num == 0:
print('输入的不是质数')
else:
print('输入的是质数')
3. 猜拳游戏:
• 出拳 玩家:手动输入 电脑:随机输入
• 判断输赢: 玩家获胜 电脑获胜 平局
import random
print('请输入你要出的拳:1.石头 2.剪刀 3.布')
wanjia = int(input('请玩家输入:'))
diannao = random.randint(1,3) #随机输入
print('玩家出的是%d 电脑出的是%d' % (wanjia,diannao))
#判断谁胜利
if (wanjia == 1 and diannao == 2) or (wanjia == 2 and diannao ==3) or (wanjia == 3 and diannao == 1):
print('玩家胜利')
elif wanjia == diannao:
print('平局')
else:
print('电脑胜利')
拓展:
#打印菱形:
*
***
*****
*******
*********
*******
*****
***
*
for i in range(-4,5):
if i<0:
j=-i
else:
j=i
#j个空格
print(' '*j+'*'*(9-2*j))