首页 > 编程语言 >python之条件控制语句

python之条件控制语句

时间:2023-05-18 12:04:46浏览次数:48  
标签:语句 控制 python else while num print 100


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()

python之条件控制语句_循环语句


案例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之列表


标签:语句,控制,python,else,while,num,print,100
From: https://blog.51cto.com/u_15016660/6296644

相关文章

  • < Python全景系列-4 > 史上最全文件类型读写库大盘点!什么?还包括音频、视频?
    欢迎来到我们的系列博客《Python全景系列》!在这个系列中,我们将带领你从Python的基础知识开始,一步步深入到高级话题,帮助你掌握这门强大而灵活的编程语言!本文系列第四篇,介绍史上最全PYTHON文件类型读写库大盘点!包含常用和不常用的大量文件格式!文本、音频、视频应有尽有!废话不多说!......
  • 档案馆库房内环境温湿度的控制与解决方案
    ​ 目录一、智慧档案馆建设目的二、智慧档案馆集成度三、智慧档案馆架构3.1库房环境监测3.2库房安防监控四、智慧档案馆功能简介4.1档案室一体化控制管理系统建设方案4.2温湿度检测建设方案4.3恒温控制建设方案4.4烟雾感应检测系统4.5安防系统建设方案4.6漏水报警监......
  • python 线程池使用
    代码应用场景:需要对数据库中的数据进行批量查询,然后将查询到的结果每条分别写入不同的文本文件中。由于数据数量较多,考虑使用线程池减少时间开销。#核心代码逻辑importpymysqlfromdbutils.pooled_dbimportPooledDBimportthreadingclassprocessing:def__init__(s......
  • python 性能测试之获取app fps
    一、功能描述该脚本主要是获取视频/语音通话、语音房、看视频等app的fps 二、代码实现importos,csvimporttimeimportnumpyasnpfrommatplotlibimportpyplotaspltfromsubprocessimportPopen,PIPEfromcheck_packageimportcheck_packageimportmath......
  • python基础学习-发送邮件
    importsmtplibfromemail.headerimportHeaderfromemail.mime.multipartimportMIMEMultipartfromemail.mime.textimportMIMEText"""发送普通邮件"""#创建邮件主体对象email=MIMEMultipart()#设置发件人、收件人和主题email['From']=&#......
  • Python程序与用户交互&基本运算符
    一、用户交互1.输入input:关键字:input()-输入在python3中input关键字会等待用户的输入,用户输入任何内容,都存成字符串类型,然后赋值给等号左边的变量名在python2中存在一个raw_input功能与python3中的input功能一模一样在python2中还存在一个input功能,需要用户输入一个明......
  • web自动化测试入门篇04——selenium+python基础方法封装
      ......
  • python - 单例模式
    Python中的单例单例模式(Singletonpattern),是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系统中,应用该模式的一个类只有一个实例。即一个类只有一个对象实例。Python中实现单例的几种方法:使用模块使用函数装饰器使用类装饰器......
  • 【Python】数据分析与可视化实践:收支日统计数据可视化的实现
    Python数据分析与可视化实践:收支日统计数据可视化的实现Author:萌狼蓝天Date:2023-5-7数据读入与基本处理上图是原始数据的一部分,存放于excel中,首先使用pd读入数据。读入数据后,删除不是收入,也不是支出的行。#读取数据datas=pd.read_excel("账单.xlsx",sheet_name=0)#......
  • Python - 仅限关键字参数 & 仅限位置参数
    仅限位置参数(/)#Python3.8新增defdemo1(a,b,/):returna,bif__name__=='__main__':demo1(1,2)#rightdemo1(1,b=2)#error#demo1(1,b=2)报错:'''Traceback(mostrecentcalllast):File"E:\PyProject\pytestD......