Python-条件控制语句

程序控制结构基础

程序由三种基本结构组成:顺序结构、分支结构和循环结构。任何程序都由这三种基本结构组合而成

**

函数 input():

**
我们在编写程序的时候,并不需要知道变量的值是多少。但是,在程序运行的过程中,解释器最终还是需要知道变量的值。那么,可以通过什么方法来获得变量的值呢?系统提供了一个input内建函数,使用户可以在程序中对变量赋值,就像系统提供了一个录入窗口一样,等待你对变量的输入。如下所示:

x = input()   #这时候终端会跳出让你任意输入一个值
10
print(x)
'10'
#当你想要强制转换字符串类型时,你可以这么操作
#转换成整型
x = int(input('请输入你要输入的数字')) #int整型,为了终端方便阅读你可以在input内建函数里面加
些标记注释
#转换成浮点类型
x = float(input(('请输入你要转换的浮点数类型:')) 

方法不唯一,仅靠参考
if 单分支结构
Python的单分支结构使用if保留字对条件进行判断,使用方式如下:
if <条件>:
<语句块>
其中,if、:和<语句块>前的缩进都是语法的一部分。
<语句块>是if条件满足后执行的一个或多个语句序列,缩进表达<语句块>与if的包含关系。<条件>是一个产生True或False结果的语句,当结果为True时,执行<语句块>,否则跳过<语句块>。单分支控制过程的流程图。
练习一:编写一个程序定义两个变量并赋值,并输出最大的值

a = 10
b =20
if b>a:  #':'是必备可少的,没有冒号会报错,缩进一般为4个空格,也就是一个TAB键
    print('最大的数字是:',b)
最大的数字是:20

if - else二分支结构
Python的二分支结构使用if - else保留字对条件进行判断,语法格式如下:
if <条件>:
<语句块1>
else:
<语句块2>
其中,if、else、:和<语句块>前的缩进都是语法的一部分。
<语句块1>在if中<条件>满足即为True时执行,<语句块2>在if中<条件>不满足即为False时执行。简单说,二分支结构根据条件的True或False结果产生两条路径。

#判断用户输入数字的某个属性
s = eval(input('请输入一个整数:'))  #evaleval是Python的一个内置函数,这个函数的作用是,返回传入
字符串的表达式的结果。 input本身输入的是一个字符串类型但可以转换
if s % 3 == 0 and s % 5 ==0:
	print('这个数字能够同时被3和5整除')
else:
	print('这个数字不能够同时被3和5整除')

(运行程序)
请输入一个整数:123
这个数字不能够同时被 3 和 5 整除
(运行程序)
请输入一个整数:150
这个数字能够同时被3 和 5整除

二分支结构还有一种更简洁的表达方式,适合<语句块1>和<语句块2>都只包含简单表达式的情况,语法格式如下:
<表达式1> if <条件> else <表达式2>
对于简洁表达方式,要使用表达式而不是语句。

#判断用户输入数字的某个属性
s = eval(input('请输入一个整数:'))
token = "" if s % 3 ==0 and s % 5 == 0 else '不'
print('这个数字{}能够同时被3和5整除'.format(token))

(运行程序)
请输入一个整数:123
这个数字不能够同时被 3 和 5 整除
(运行程序)
请输入一个整数:150
这个数字能够被 3 和 5整除

练习:编写一个程序,获取用户输入的整数,通过显示来判断这个这个数是奇数还是偶数

a = int(input('请输入一个整数:'))
if a % 2 == 0 #取模运算,一个数除于2然而并没有余数的这个数就是偶数
	print(a,'这个数是偶数')
else :
	print(a,'这个数是奇数')

(运行程序)
请输入一个整数:10
这个数是偶数
(运行程序)
请输入一个整数:7
这个数是奇数

if-elif-else 多分支结构
Python的多分支结构使用if-elif-else保留字对多个相关条件进行判断,并根据不同条件的结果按照顺序选择执行路径,语法格式如下:
if <条件 1>:
<语句块1>
elif <条件 2>:
<语句块2>

else:
<语句块N>
练习:编写一个程序(3,4,5)月份为春季,夏季(6,7,8),秋季(9,10,11),冬季(12,1,2)

month = int(input('请输入你要输入的年份:'))
if 3<= month <=5:
    print(month,'是春季')
elif 6<= month <=8:
    print(month,'是夏季')
elif 9<= month <=11:
    print(month,'是秋季')
elif 12 < month or month < 1:
    print('你输入的月份不存在')qing
else:
    print(month,'是冬季')

(运行程序)
请输入你要输入的年份:-1
你输入的月份不存在
(运行程序)
请输入你要输入的年份:12
12 是冬季

编写一个程序,检查一年份是否是闰年
分析:什么是闰年?
闰年就是:普通年:能被4整除但不能被100整除的年份为普通闰年。(如2004年就是闰年,1999年不是闰年);
世纪年:能被400整除的为世纪闰年。(如2000年是闰年,1900年不是闰年);

num = int(input('请输入年份:'))
if num % 4 ==0 and num % 100 !=0:
    print(num,'是普通闰年')
elif num % 400 ==0:
    print(num,'是世纪闰年')
else:
    print('你输入的不是闰年')

(运行程序)
请输入年份:2000
2000年是世纪闰年
(运行程序)
请输入年份:1900
你输入的不是闰年
(运行程序)
请输入年份:2004
你输入的是普通闰年

需求:我家的狗五岁,五岁的狗相当于人多大的年龄呢?
狗的前两年每一年相当于人的10.5岁,然后每增加1年就增加四岁
比如 5岁的狗狗相当于人类的年龄是多少:10.5+10.5+4+4+4 = 33岁
编写一个程序,获取用户输入狗狗的年龄,然后判断其相当于人的年龄
如果用户输入负数,请显示错误信息

dog_age = float(input('请输入狗狗的年龄'))
people_age = 0
#先判断两岁之前的狗狗的年龄(包含两岁的狗狗)
if dog_age<0:
    print('你输入的有误')
elif dog_age<=2:
    people_age = dog_age * 10.5
#判断大于两岁的狗狗年龄
else:
    people_age = 2 * 10.5   
    people_age =people_age +(dog_age-2)*4  
    print(dog_age,'岁狗的年龄','相当于人的',people_age,'岁')


(运行程序)
请输入狗狗的年龄:5
5.0 岁狗的年龄 相当于人的 33.0 岁
(运行程序)
请输入狗狗的年龄:-1
你输入的有误

无限循环:while
Python通过保留字while实现无限循环,基本使用方式如下:
while <条件>:
<语句块>

n = 0
while n<10:
	print(n)
	n=n+3

(运行程序)
0
3
6
9

当程序执行到while语句时,判断条件如果为True,执行循环体语句,语句结束后返回再次判断while语句的条件;当条件为False时,循环终止,执行与while同级别缩进的后续语句。
执行流程:
while语句在执行时,会先对while后的条件表达式进行求值判断。如果判断结果为True,则执行循环体(代码块),
循环体执行完毕,继续对条件表达式进行求值判断,以此类推,直到判断结果为False,则循环终止。
无限循环也有一种使用保留字else的扩展模式,使用方式如下:
while <条件>:
<语句块1>
else:
<语句块2>
练习:求100以内所有偶数之和

s = 0
num = 0
while s<100:
    s += 1
    if s % 2 == 0:
        num +=s
print(num)

(运行结果)
2550

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值