python之条件控制语句

python字符串和运算符

python之条件控制语句

if语句:

  • 语法格式:

if 条件表达式:
代码块

if False:print('hello')# 默认情况下,if语句只会控制紧跟其后的那条语句
print('hello')
if False:
	# 代码块:是一种代码分组的机制,是一个整体,要么就都执行,要么就都不执行,代码块以缩进开始,直到代码恢复之前的缩进级别时结束
	print('kdjfka')
	print('dfadgf')
num = 38
if num> 20 and num < 40:
	print('num 比20大,比40小')
# 或者是以下这种方式
if 20 < num < 40:
	print('num比20大,比40小')
hello
num 比20大,比40小
num比20大,比40
  • if语句练习:
    根据输入的月份打印该月份属于哪一个季节
    345春季
    678夏季
    9 10 11 秋季
    12 1 2 冬季
# 第一种方式
mouth = int(input('请输入您的月份:'))
if mouth == 3 or mouth == 4 or mouth == 5:
	print(mouth,'春季')
if mouth == 6 or mouth == 7 or mouth == 8:
	print(mouth,'夏季')
if mouth == 9 or mouth == 10 or mouth == 11:
	print(mouth,'秋季')
if mouth == 12 or mouth == 1 or mouth == 2:
	print(mouth,'冬季')
while 1:
    month = float(input('请输入您的月份:'))
    if month < 1 or month > 12:
        print('您输入的有误')
        print('请您重新输入!')
    else:
        if 3 <= month <= 5:
            print(month, '春季')
            break
        elif 6 <= month <= 8:
            print(month, '夏季')
            break
        elif 9 <= month <= 11:
            print(month, '秋季')
            break
        else:
            print(month, '冬季')
            break

input()函数

该函数用来获取用户的输入
input()函数调用后,程序会立即暂停,等待用户的输入
用户输入完内容后点击回车才会继续向下执行
用户输入完内容以后,其所输入的内容会以返回值的形式返回

  • input()函数练习
    获取用户输入的内容,如果是python就通过验证
# 获取用户输入内容
content = input('请输入内容:')
# 判断用户输入的是否是python
if content == 'python':
	print('通过验证')

if else语句

  • 语法:

if 条件表达式:
代码块
else:
代码块

  • 执行流程:
    if-else 语句在执行时,先对if后的条件表达式进行求值判断,如果为True,则执行if后的代码块,如果为False,则执行else后的代码块
  • if else语句练习:
    让用户输入一个工资,判断工资程度
value = int(input('请输入您的工资:'))
# 如果用户的工资大于或者等于2000则继续努力
if value >= 2000:
	print('继续努力')
else:
	print('你该加油啦')

编写程序计算狗的年龄相当于人的多大年龄
狗的前两年每一年相当于人的10.5岁。之后每增加一年,增加四岁

dog_age = float ( input ( '请输入狗的年龄:' ) )
person_age = 0
# 检查狗的年龄的合法性
if dog_age > 0:
    # 如果狗的年龄在2岁以下(包含两岁)
    if dog_age <= 2:
        # 用当前的狗的年龄直接乘以10.5
        person_age = dog_age * 10.5
    else:
        # 狗的年龄在2岁以上
        # 计算前两岁相当于人的年龄
        person_age = 2 * 10.5
        # 计算超过两岁部分相当于人的年龄
        # person_age = person_age + (dog_age -2) * 4
        person_age += (dog_age - 2) * 4
    print ( dog_age, '岁的狗,年纪相当于', person_age, '岁的人' )
else:
    print ( '您的狗的年龄有问题' )
while True:
    dog_age = float(input('请输入狗的年龄:'))
    if dog_age < 0:
        print('您家的狗的年龄有问题!')
        print('请重新输入!')
    else:
        if dog_age <= 2:
            person_age = dog_age * 10.5
            print('两岁以下的狗的年龄相当于%s岁的人' % person_age)
            break
        else:
            person_age = 10.5 * 2
            person_age +=(dog_age - 2) * 4# person_age = person_age + (dog_age - 2) * 4
            print('两岁以上的狗的年龄相当于%s岁的人' % person_age)
            break

if elif else语句

  • 语法:
    if 条件表达式:
    代码块
    elif 条件表达式:
    代码块
    elif 条件表达式:
    代码块

    else:
    代码块
  • 执行流程:
    if elif else语句在执行时,会自上向下一次对条件表达式进行求值判断,如果表达式的结果为True,则执行当前代码块,之后语句结束,如果表达式的结果为False,则继续向下判断,直到找到True为止,如果所有的表达式都是False,则执行else后的代码块
  • 总结: if elif else中只会有一个代码块执行
  • if elif else语句练习
    编写程序计算狗的年龄相当于人的多大年龄
    狗的前两年每一年相当于人的10.5岁。之后每增加一年,增加四岁
# 添加提示信息
dog_age = float(input('请输入狗的年龄:'))
person_age = 0
if dog_age < 0:
	print('您输入的不合法')
# 如果狗的年龄在两岁以下(包含两岁)
elif dog_age <= 2:
	person_age = dog_age * 10.5
else:
	# 狗的年龄在2岁以上
	# 计算前两岁相当于人的年龄
	person_age = 2 * 10.5
	# 计算超过两岁部分相当于人的年龄
	person_age +=(dog_age - 2) * 4 # person_age = person_age + (dog_age - 2) * 4
if dog_age > 0:
	print(dog_age,'岁的狗,年纪相当于',person_age,'岁的人')
# 第一种方式
value = int(input('请输入您的工资:'))
if value >= 30000:
	print('有钱任性')
elif value >= 20000:
	print('有钱真好')
elif value >= 10000:
	print('哥也月薪上万了')
elif value >= 5000:
	print('工资还说的过去')
elif value>= 2000:
	print('能养活自己了')
else:
	print('你该加油啦')
# 第二种方式
if value >= 2000 and value < 5000:
    print ( '能养活自己了' )
elif value >= 5000 and value < 10000:
    print ( '工资还说的过去' )
elif value >= 10000:
    print ( '哥也月薪上万了' )

while语句

循环语句可以使指定的代码块重复指定的次数,循环语句分两种,while循环和for循环

  • 语法:
    while 条件表达式:
    代码块
    else:
    代码块
  • 循环的三个条件:
    条件一:初始化表达式 用来设置循环执行的条件
    条件二: 条件表达式 用来设置循环执行的条件
    条件三: 更新表达式 修改初始化的变量的值
i = 0
while i < 5:
	i+= 1
	print('hello',i)
else:
	print('我是else语句')
hello 1
hello 2
hello 3
hello 4
hello 5
我是else语句

continue语句和break语句

continue可以用来跳过当次的循环
break可以用来立即跳出循环语句,包括else语句

i = 0
while i < 6:
	i += 1
	if i == 2:
		continue
	print(i)
else:
	print('haha')
'''
i = 0
i = 1
i = 2(此处跳出当次的循环)
i = 3
i = 4
i = 5
i = 6
i = 7(此时i>6执行else语句)
'''
i = 0
while i < 6:
	i += 1
	if i == 2:
		break
	print(i)
else:
	print('jdkfj')
'''
i = 1
i = 2(此时跳出循环语句包括else语句)
'''
1
3
4
5
6
haha
1

求1-100以内所有偶数的和

# 第一种方式
# 获取100以内所有的数
i = 0
result = 0# 定义一个变量来保存结果
while i < 100:
	i += 1
	# 判断i是否为偶数
	if i % 2 == 0:
		result += i
print('result = ',result)
# 第二种方式
i = 0
result = 0
while i < 100:
    i += 2
    result += i
    # print(i)
print ( 'result的结果是:', result )
result =  2550
result的结果是: 2550

嵌套循环

  • python语言允许在一个循环体里面嵌入另一个循环体
  • 语法:
while 表达式:
	while 表达式:
		代码块
	代码块

for 变量 in 循环规则:
	for 变量 in 循环规则:
		代码块
	代码块
  • 用*打印一个高为5 底为5的直角三角形
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
# ***** j < 5 i = 0 j < 5 - i
# ****  j < 4 i = 1 j < 5 - i
# ***
# **
# *
i = 0
while i < 5:
    # 内层循环可以控制图形的宽度
    j = 0
    while j < 5 - i:
        print ( '*', end='' )
        j += 1
    print ()
    i += 1
*****
*****
*****
*****
*****
*
**
***
****
*****
*****
****
***
**
*

打印九九乘法表

# 创建一个外层循环来控制高度
i = 0
while i < 9:
    i += 1
    # 创建一个内层循环来控制宽度
    j = 0
    while j < i:
        j += 1
        print(f'{j} * {i} = {i*j}',end='')
    print()

在这里插入图片描述
案例1:
打印1000以内的水仙花数?
水仙花数的介绍:
水仙花数(Narcissistic number)也被称为超完全数字不变数(pluperfect digital invariant, PPDI)、 自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrong number), 水仙花数是指一个3 位数,它的每个位上的数字的3次幂之和等于它本身(例如:13 + 53+ 3**3 = 153)。1000以内的水仙花数有:153、370、371、407。

# 方案一:
# while循环
# 思路:想找出1000以内所有的三位数
# 找出百位 十位 个位再做一个运算
i = 100
while i < 1000:
    # 百位数a 十位数 b 个位数 c
    a = i // 100
    b = (i - a * 100)//10 # b = i // 10 % 10
    c = i % 10
    # print(i,a,b,c)
    # 判断i是否是水仙花数
    if a ** 3 + b ** 3 + c ** 3 == i:
        print(i)
    i += 1
# 方案二:
# 思路:任意一个数,如521,把521除以100得到百位数5,
# 所以521用100取余得到余数21,再把21除以10得到十位数2,
# 所以521用100取余得到余数21,再把21用10取余得到个位数1。
# 示例:
a = 153
b = 153 // 100 #百位数
print(b)
c = 153 % 100 // 10#十位数
print(c)
d = 153 % 100 % 10#个位数
print(d)
print(b ** 3 + c ** 3 + d ** 3)
for n in range(100,1000):
    b = n // 100# 百位数
    # print(b)
    c = n % 100 // 10# 十位数
    # print(c)
    d = n % 100 % 10# 个位数
    # print(d)
    if b ** 3 + c ** 3 + d ** 3 == n:
        print('%d%d%d'%(b,c,d))

案例二(@!):
获取用户输入的自然数,并判断是否是质数
什么是质数:
质数指的是只可以被1或者自己整除的数。
例如:2 、 3、5、7
思路:要验证是否是质数,数都可以被1或者它本身整除,所以要证明的是如果一个数除以另一个数(不是1或者它本身)余数为0则证明不是质数,余数不为0则证明是质数。

num = int(input('请输入一个大于1的数:')
# 判断num是否是质数
i = 2
# 定义一个变量用来标记num是否是质数
flag = True
while i < num:
	# 判断num是否能够被i整除
	# 如果num可以被1整除意味着num不是质数
	if num % i == 0:
		# 进入判断就证明num不是质数,此时要给标记重新赋值
		flag = False
		# print(num,'不是质数')
	i += 1
if flag:
	print(num,'是质数')
else:
	print(num,'不是质数')

下节:Python之列表

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qq_45671732

你们鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值