Python循环

流程控制语句:

分类

1.顺序结构
2.判断结构解析,如果……否则……
3.循环结构

判断结构

格式一

① if 条件表达式
② 语句块

如果条件表达式的结果为True,那么就会立即进入到if的内部去执行语句块,
等到语句块执行完毕了,就可以认为if结构结束了,但是程序一定会去执行;

如果条件表达式的结果为False,那么就会不会进入到if的内部去执行语句块,
也就意味着if结构已经结束了,但是程序一定会去执行

#需求:从键盘读入一个正整数,判断其奇偶性
num = int(input('请输入一个正整数:'))
if num % 2 == 0:
    print('是偶数...')
if num % 2 == 1:
    print('是奇数...')
print('程序结束了...')

格式二

① if 条件表达式:
② 语句块1
③ else:
④ 语句块2

执行流程:
计算机会先执行①,遇到了if关键字会先执行条件表达式,
如果条件表达式的结果为True,那么就会立即进入到if的内部去执行语句块②,
等到语句块②执行完毕了,整个if...else结构就结束了,但是程序一定会去执行③
如果条件表达式的结果为False,那么就会立即进入到else的内部去执行语句块④,
等到语句块④执行完毕了,整个if...else结构就结束了,但是程序一定会执行

age = eval(input("请输入你的年龄: "))
if age >= 18:
    print("你已经成年了。。。")
else:
    print("回家写作业去吧。。。")
print("小弟弟,出来混迟早要还的……")
#使用判断结构if...else重构之前三元中的案例:两个数中的较大值
num1 = 10
num2 = 20
if num1 > num2:
 print('较大值为:{}'.format(num1))
else:
 print('较大值为:{}'.format(num2))

练习:

需求:

模拟一个购物系统,通过键盘输入:单价,数量,付款金额;
最后计算得到应收金额和找零;
单价:price
数量:amount
支付金额:money
总金额:totalPrice
找零:change
附加需求:
满500元打8折

price = eval(input("请输入商品的价格: "))
amount = eval(input("请输入商品的数量: "))
totalPrice = price * amount      #计算总消费金额
print("您应该消费了%s钱"%totalPrice)
money = eval(input("请输入付款金额: "))

if money < totalPrice:
    chajia = totalPrice - money
    print("总金额不足,差%s钱,请继续加款。。。"%chajia)
else:
    change = money - totalPrice
    print("应找您{}钱".format(change))
    if totalPrice >= 500:
        print("恭喜您获得八折优惠!!!")
        totalPrice2 = totalPrice * 0.8
        good = float(totalPrice -totalPrice2)
        print("您优惠的总金额为,",totalPrice2,"钱,优惠了",good,"元")

格式三:

if 条件表达式1:
语句块1
elif 条件表达式2:
语句块2
elif 条件表达式3:
语句块3
elif 条件表达式y:
语句块y
else:
语句块z

执行流程:

计算机一定会先执行开始语句,遇到了if关键字执行条件表达式1,如果条件表达式1的结果为True,那么就进入if内部执行语句块1,执行结束后,整个if elif else结构结束了,但是程序一定会执行else。如果条件表达式1的结果为False,那么执行elif后面的条件表达式2,如果条件表达式2的结果为True,那么就进入elif内部执行语句块2,执行结束后,整个if elif else结构结束了,但是程序一定会执行else。如果所有的条件表达式的结果都为False,最终会执行else中的语句块z,执行结束后,程序一定会执行else

age = 30
if age < 0 or age > 130:
    print('你可能不是人...')
elif age <= 20:
    print('伦家还很小的啦!么么哒...')
else:
    print('别追我了,我已经有两个娃了...')

需求:

从键盘输入小明的期末考试成绩
当成绩为100分时,奖励一辆BMW;
当成绩为(80,99]时,奖励一台8848;
当成绩为[60,80]时,奖励一本从入门到精通只需33天;
其它时,暴打一顿!

注意事项:

如果多个elif后面的条件表达式是互斥关系,那么谁上谁下无所谓
如果多个elif后面的条件表达式是包含关系,那么范围小的要在范围大的上面议:

score = int(input('请输入小明的考试成绩:(分)'))
if score < 0 or score > 100:
    print('输入的成绩有误!请重新输入...')
else:
    if score == 100:
        print('奖励一辆BMW')
    elif score > 80:
        print('奖励一台8848')
    elif score >= 60:
        print('奖励一本参考书')
    else:
        print('老子要揍你了!!555555~~~~')

while循环:

有四要素组成:

①.初始化条件(执行一次)一个起始数据/起点,一般使用变量来进行存储
②.循环条件(可能执行多次)循环合适结束全靠它,执行结果为True,那么循环继续,反之,循环就终止了

补充:需要和初始化条件配合

③.迭代条件(可能执行多次)用来改变初始化条件中的数据,只有变化了,才有终止的那一刻
④.循环体(可能执行多次)需要重复执行的逻辑代码
格式:

while ②:



执行流程:① -> ② -> ④ -> ③ -> ② -> ④ -> ③ -> ② -> ⑤

案例1:

演示while循环的使用
需求:打印10次德玛西亚。。。

 i = 0
while i < 10:
    i +=1
    print("德玛西亚。。。")

案例2

需求:打印1~100之间的偶数,并且得到偶数的个数和总和
有计数和累加的思想 --> 可以定义变量来接受

count = 0  # count的作用是为了记录偶数的个数
sum1 = 0  # sum1的作用是为了记录偶数的总和
i = 1
while i < 101:
 if i % 2 == 0:
     print(i)
 count += 1
 sum1 += i
 i += 1
print('1~100之间偶数的个数为:%d' % count)
print('1~100之间偶数的总和为:%d' % sum1)

案例3:

需求:
打印1~150,
如果是3的倍数追加'foo',
如果是5的倍数追加'biz',
如果是7的倍数追加'baz'
效果如下:
1
2
3 foo
4
5 biz
6
7 baz
15 foo biz
105 foo biz baz
150 foo biz

i = 1
while i <= 150:
    print(i, end="")
    if i % 3 == 0:
        print(" foo", end="")
    if i % 5 == 0:
        print(" biz", end="")
    if i % 7 == 0:
        print(" baz", end="")
    # 以下的print()的作用仅仅是为了换行
    print()
    i += 1

你可能感兴趣的:(Python循环)