惬意上手Python —— if 、else 和 for

目录

一、Python中的分支

1.分支介绍

2.分支的关键字

2.1 if 介绍

2.2 else 和 elif 介绍

3.关键字的使用

 * range 介绍

二、python中的循环

1.循环对象

2.break和continue 

3.for循环嵌套与案例


一、Python中的分支

1.分支介绍

分支是一种选择结构,即依据条件选择性的执行。

如以下代码,条件是满足的,因此if中的两条语句都会执行。 若不满足,则不会执行。

if True and not 10 < 7:
    pass  # 代表此处有内容,解释器不会报错
    print("你好,中国!")

例如以下代码,虽然 if 中包含的代码只是一行汉字和一个!,没有 print 和 " ",但运行时不会报错,因为条件为 False 时,if 中的语句便不被执行。

if 3 > 4:
    我是错的!

 注意:使用 if 语句要进行缩进,一般缩进一个 Tab 键的距离即可,这也是新手常犯的错误!

2.分支的关键字

Python中使用分支结构,需要用到的关键字为 if 、else 、elif 。

2.1 if 介绍

  • if 是作用是判断,后面需要跟条件,而条件的构造一般需要用到比较运算符,而比较的结果返回的是 True 或 False。
  • if 就是“如果”,“如果”为 True ,执行 if 下的语句,否则不执行。
  • 但是 if 下面必须有语句,无论条件返回的结果如何。

看如下代码,条件返回的 Flase,即 7不大于9。按理说不会向下执行,但不会执行不代表什么都不写,要有代码。

if 7 > 9:

报的错为  expected an indented block after 'if',即“期望在'if'后面出现缩进块”。

如果不知道写什么,可以写 pass。可自行尝试。 

2.2 else 和 elif 介绍

else 和 elif 在 if 之后,else 后的语句是当 if 条件不满足时,会被执行。elif 是为了能够进行多次判断。 

if 3 > 7:
    print("hh")
elif 2 > 1:
    print("对了")
  

猜一下执行结果吧~

* else 和 elif 都不能单独使用。

看如下代码的执行结果:

else:
    print("Chian")

elif:
    print("你好")

你会发现返回的是 “invalid syntax” ,即无效语法,也就是说这样写不对。

3.关键字的使用

关键字如何使用?

  • if ,后边需要跟条件,条件之后要加 : ,下面加缩进语句。 。
  • elif 和if 一样。
  • else 后面直接加 : ,下面加缩进语句。

看懂下面小题,你就对 if 、 else 、elif 能够熟练运用了。
# 输入学生成绩 如果成绩不在[0, 100]之间 则输出不合法
# [90, 100] 优秀
#  [75, 90) 良好
#  [60, 75) 及格
# [0, 60) 渣渣

解题代码如下:

score = float(input("成绩:"))
if score >= 0 and score <= 100:
    if score < 60:
        print("渣渣")
    elif score < 75:
        print("及格")
    elif score < 90:
        print("良好")
    else:
        print("优秀")
else:
    print("不合法")

 * range 介绍

range 的意思其实就是范围。话不多说,看代码

datas = range(10)
print(list(datas))
datas = range(7,15,2)
print(list(datas))
datas = range(70,10,-10)
print(list(datas))

结果截图: 

 

你会发现,range( ) 中可以写入三个值,

  • 第一位代表起始值
  • 第二位代表结束值的前一个数
  • 第三位代表步长,默认步长为1

当步长为整数时,代表递增,起始值要小于结束值。为负值时,代表递减,起始值要大于结束值。

注意:当range( ) 中只有一个值时,代表从0开始,而且range( )返回的是一个列表。

 用 [ ] 表示就代表一个列表,可放入任何类型的值,例如[ 1,"你好",3.14,"abc", True, None]

二、python中的循环

 循环,就是对一个缩进块重复执行。

1.循环对象

Python中的循环对象要有一系列的内容。

看如下代码:

for i in range(10):
    print("醒醒", end = "")

for c in "你 好 中 国":
    print(c, end = "")

 

 上面的代码都有循环内容,内容个数决定循环次数。range(10) 就是 0 - 9 ,循环 10 次,执行结果就是打印 10 次 “醒醒”。

“你 好 中 国” 有4个汉字,3个空格,因此执行7次。打印的又是 c ,所以可以把字符串直接打印了。

 理解本题,加深印象

计算 从500开始前10个5的倍数的平均数

start = 500
total = 0
for i in range(10):
    total += start
    start += 5
print(total / 10)

 结果是 522.5 哦。

2.break和continue 

  • break 可以终止循环
  • continue 可以结束当前这一轮,进入下一轮

如下代码即可展示他们的作用:

for i in range(10):
    if i == 7:
        continue
    print(i)
    if i == 8:
        break

你会发现 7 和 9 没有打印。原因是当 i 等于 7 时 跳出了当前循环,不再向下执行。

i 等于 8 时直接终止了循环。循环不再执行。

3.for循环嵌套与案例

题目一:计算5的阶乘和,即 5!+ 4!+ 3!+ 2!+ 1!

解题代码:

total = 0
for i in range(1, 6):    # 计算总和
    product = 1
    for j in range(1, i + 1):    #计算每个数的阶乘
        product *= j
    total += product
print(total)

运行结果是153,你能看懂??? 

如果看懂了,可以尝试打印乘法口诀表,二者是类似的,或者先去写乘法口诀表,再来看本题。新手学循环嵌套可能会小卡壳,所以不太懂也没关系,可以在评论区@我。

再来一道:

题目二:打印如下图形

惬意上手Python —— if 、else 和 for_第1张图片

解题代码:

for i in range(11):
    for j in range(11):
        if i <= j and i + j <= 10 or i >= j and i + j >= 10 or i ==5 and j == 5:
            print(" * ", end="")
        else:
             print("   ", end="")  # 此行用来打印空格,不能少
    print()

 这里面用到了比较运算符的优先级,要知道 and 的优先级大于 or ,就像数学运算中,乘除的优先级大于加减。 

                   ✨✨✨ 结束 ,有不详细或错误的地方,欢迎评论,我会尽力完善

惬意上手Python —— if 、else 和 for_第2张图片

你可能感兴趣的:(python,开发语言)