首页 > 编程语言 > 详细

0基础入门学习Python(第4章)

时间:2019-08-22 22:40:26      阅读:102      评论:0      收藏:0      [点我收藏+]

第四章,了不起的分支和循环

 

4.1 分支和循环

Python主要依靠缩进来区分代码块

 

4.2 快速上手

成绩按照分数来划分等级,90分以上为A,80~90 为B,60~80 为C,60以下为D

p4_1.py

score = int(input("请输入一个分数:"))

if 100 >= score >= 90:
    print("A")
if 90 > score >= 80:
    print("B")
if 80 > score >= 60:
    print("C")
if 60 > score >= 0:
    print("D")
if score < 0 or score > 100:
    print("输入错误!")

p4_2.py

score = int(input("请输入您的分数:"))

if 100 >= score >= 90:
    print("A")
else:
    if 90 > score >= 80:
        print("B")
    else:
        if 80 > score >= 60:
            print("C")
        else:
            if 60 > score >= 0:
                print("D")
            else:
                print("输入错误!")

p4_3.py

score = int(input("请输入您的分数:"))

if 100 >= score >= 90:
    print("A")
elif 90 > score >= 80:
    print("B")
elif 80 > score >= 60:
    print("C")
elif 60 > score >= 0:
    print("D")
else:
    print("输入错误!")

 

分析:

p4_1.py中,假设输入的是98,程序第一次成立,打印A,不过程序还为结束,需要继续对后面的四个条件进行判断,直到所有的条件不符合,最后才退出程序。

虽然简单的例子,但就输入的测试数据来说,假设每一次判断都会消耗一个CPU时间,那么程序p4_1.py 的代码要比其余的程序多耗费400%的CPU资源。

4.3 避免悬挂else问题

使用Python开发没有这方面的考虑

age = 20
score = "A"

if age < 18:
    if score == "A":
        print("恭喜你,获得青少年一等奖!")
else:
    print("抱歉,本活动只限于小于18周岁的青少年参与。")

 

4.4 条件表达的三元素

>>> x = 5
>>> y = 4
>>> if x < y:
... small = x
... else:
... small = y
...
>>> small
4
>>>

三元操作符

a = x 条件 else y

表示当条件为true的时候,a被赋值为x,否则被赋值为y

>>> x = 5
>>> y = 4
>>> small = x if x < y else y
>>> small
4
>>>

 

score = int(input("请您输入一个数字:"))

level = 0
if 100 >= score >= 90:
    level = A
elif 90 > score >= 80:
    level = B
elif 80 > score >= 60:
    level = C
elif 60 > score >= 0:
    level = D
else:
    print("输入错误!")

print(level)

如果使用三元操作符实现

score = int(input("请您输入一个数字:"))

level = 0

level = A if 100 >= score >= 90 else B if 90 > score >= 80 else C if 80 > score >= 60 else D if 60 > score >=0 else print("输入错误!")

print(level)

 4.5 断言

断言的语法语法其实有点像if条件的分支语句,一般在程序调试的时候,使用

>>> assert 3 < 4
>>> assert 3 > 4
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AssertionError
>>>

 

4.6 while循环语句

语法:

while 条件:

  循环体

i = 1
sum = 0

while i <= 100:
    sum += i
    i += 1
print(sum)

 

4.7 for 循环语句

语法:

for 变量 in 可迭代对象:

  循环体

sum = 0
for i in range(101):
    sum += i;
    i += 1
print(sum)

range() 是一个BIF,它可以为指定的整数生成一个数字序列,语法如下:

range(stop)

range(start,stop)

range(start,stop,step)

>>> list(range(10))
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> list(range(5,10))
[5, 6, 7, 8, 9]
>>> list(range(0,10,2))
[0, 2, 4, 6, 8]
>>> list(range(0,-10,-2))
[0, -2, -4, -6, -8]

 

4.8 break 语句

break语句终止当前循环,跳出循环体

bingo = "清蒸"
answer = input("小甲鱼是清蒸好吃还是炖了好吃?")

while True:
    if answer == bingo:
        break
    answer = input("抱歉,请重新输入。")
print("对吗,只有清蒸才原汁原味。")

打印2018年之后出现的第一个闰年

(当年月份可以被4整除,且不能被100整除,或者可以被400整除,该年为闰年)

for year in range(2018,2100):
    if (year % 4 == 0) and (year % 100 != 0) or (year % 400 == 0):
        break
print("2018年之后出现的第一个润年是", year)

 

4.9 continue 语句

跳出本轮循环,进行下一轮循环

如果要打印2018年到2100年之间的年份

for year in range(2018,2050):
    if (year % 4 == 0) and (year % 100 != 0) or (year % 400 == 0):
        print(year)
        continue

2020
2024
2028
2032
2036
2040
2044
2048

 

4.10 else语句

 

while 条件:

  循环体

else:

  条件不成立时执行的内容

 

for 变量 in 可迭代对象:

  循环体

else:

  条件不成立可执行的内容

 

0基础入门学习Python(第4章)

原文:https://www.cnblogs.com/hack404/p/11391703.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!