if语句
要构造分支结构可以使用if
、elif
和else
关键字。
if...elif...else...
if...else...
提示:
if
和else
的最后面有一个:
,它是用英文输入法输入的冒号;程序中输入的'
、"
、=
、(
、)
等特殊字符,都是在英文输入法状态下输入的。有很多初学者经常不注意这一点,结果运行代码的时候就会遇到很多莫名其妙的错误提示。强烈建议大家在写代码的时候都打开英文输入法
age = int(input('请输入您的年龄:'))
# 童工
if age < 18:
print(f'您输入的年龄是{age}, 童工')
# 18-60 合法
elif 18 <= age <= 60:
print(f'您输入的年龄是{age}, 合法')
# 大于60 退休
elif 60 < age < 100:
print(f'您输入的年龄是{age}, 退休年龄')
# 大于100非人类
else:
print(f'您输入的年龄是{age}, 非人类')
三⽬运算符
条件成立
执行的表达式 if条件
else条件不成立
执行的表达式
a = 1
b = 2
if a > b:
c = a
else:
c = b
print(c)
c = a if a > b else b
print(c)
for-in循环
#1-100数字累加和
total = 0
for x in range(1, 101):
total += x
print(total)
需要说明的是上面代码中的
range(1, 101)
可以用来构造一个从1
到100
的范围,当我们把这样一个范围放到for-in
循环中,就可以通过前面的循环变量x
依次取出从1
到100
的整数。当然,range
的用法非常灵活,下面给出了一个例子:
-
range(101)
:可以用来产生0到100范围的整数,需要注意的是取不到101。 -
range(1, 101)
:可以用来产生1到100范围的整数,相当于前面是闭区间后面是开区间。 -
range(1, 101, 2)
:可以用来产生1到100的奇数,其中2是步长,即每次递增的值。 -
range(100, 0, -2)
:可以用来产生100到1的偶数,其中-2是步长,即每次递减的值。
while循环
如果要构造不知道具体循环次数的循环结构,我们推荐使用while
循环。while
循环通过一个能够产生bool
值的表达式来控制循环,当表达式的值为True
时则继续循环,当表达式的值为False
时则结束循环。
#1-100数字累加和
i = 0
total = 0
while i < 100:
i += 1
total += i
print(total)
break和continue
上面的代码中使用while True
构造了一个条件恒成立的循环,也就意味着如果不做特殊处理,循环是不会结束的,这也就是常说的“死循环”。为了在用户猜中数字时能够退出循环结构,我们使用了break
关键字,它的作用是提前结束循环。需要注意的是,break
只能终止它所在的那个循环,这一点在使用嵌套循环结构时需要引起注意,下面的例子我们会讲到什么是嵌套的循环结构。除了break
之外,还有另一个关键字是continue
,它可以用来放弃本次循环后续的代码直接让循环进入下一轮。
- 演示示例猜大小
import random
# 产生一个1-100范围的随机数
answer = random.randint(1, 100)
counter = 0
print('答案:%s' % answer)
while True:
counter += 1
number = int(input('请输入: '))
if number < answer:
print('大一点')
elif number > answer:
print('小一点')
else:
print('恭喜你猜对了!')
break
else:
print('结束了')
# 当退出while循环的时候显示用户一共猜了多少次
print(f'你总共猜了{counter}次')
网友评论