第五章:流程控制

"""

第五章:流程控制

所谓的流程控制就是程序执行的过程

三种结果:

顺序执行:按部就班

选择:根据条件不同执行不同的代码段

循环:体现的是重复性的执行一件事

"""

# 缩进:python使用每行前面的空白(缩进)来决定当前代码的层次。

"""

同一个层次的语句必须要有相同的缩进

通常情况下使用四个空格(tabs)来表示一个缩进层次

"""

# 一、选择判断

# 背景,有的时候希望程序是根据条件来按照不同的条件执行不同的代码,而不是按部就班的一行

#       一行执行。

# 所有的关键字

import keyword

print(keyword.kwlist)

# 1. if条件:当if条件成立的时候,会执行的代码段

"""

语法结构

if 条件(布尔类型):

    当条件返回True,会执行的代码段

    当条件返回True,会执行的代码段

    当条件返回True,会执行的代码段

    ....

else:(else的后面没有条件)   

    当if条件返回False,会执行的代码段

    当if条件返回False,会执行的代码段

    当if条件返回False,会执行的代码段

其他代码段

用法注意:

(1)if可以单独存在,但是else不可以

(2)if后面有条件,else后面没有条件

"""

a=101

if a<=100:

    print("我现在很瘦")

    print("我可以继续胡吃海塞")

else:

    print("我不能吃饭了")

    print("还得去减肥")

print("其他的代码段")

# 练习:

# 1. 输入一个成绩,如果>=60就输出及格了,否则输出:这次得交挂科费了,回家还不能吃饭。

# score=int(input("请输入你的成绩"))

# if score>=60:

#     print("及格了")

# else:

#     print("交挂科费")

#     print("回家不能吃饭")

# 2.根据今天是星期几(1-7),输入星期几,输出要做的事情:

# 周一-周五 上课

# 周六      自习

# 周日      休息

# day=int(input("请输入星期几:"))

# if day==6:

#     print("自习")

# if day==7:

#     print("休息")

# if 1<=day<=5:

#     print("上课")

#问题:

# 1. 效率,当条件符合了一个if之后,还会走其他的if条件

# 2. 如果输入的8

# 解决:

# 1.使用嵌套if来解决多次执行if问题

# 2.将概率大的放在前面

# 小知识:debug

# 1. 设置断点:当使用debug模式执行的时候,代码就会停止在断点的位置

# 2. F8键,会使程序一行 一行执行

# 3. F9键,能够使得程序走完(走到下一个断点)

# 4. 鼠标悬停在变量的位置,会显示变量值

"""

if 布尔条件:

   if 布尔条件:

      语句体

   else:

      语句体

else:

   if 布尔条件:

      语句体

   else:

      语句体

"""

# day=int(input("请输入星期几:"))

# if 5>=day>=1:

#     print("上课")

# else:

#     if day==6:

#         print("自习")

#     else:

#         if day==7:

#             print("休息")

#         else:

#             print("输入错误")

# 3. 输入一个工资,如果工资<=5000,输出我很穷;

# 如果<=10000,输出可以温饱;如果<=20000,输出我是土豪

# salary=int(input("请输入一个工资:"))

# if salary<=5000:

#     print("我很穷")

# else:

#     if salary<=10000:

#         print("可以温饱")

#     else:

#         if salary<=20000:

#             print("我是土豪")

# if salary<=5000:

#     print("我很穷")

# else:

#     if 10000<=salary<=20000:

#         print("我是土豪")

#     else:

#         print("可以温饱")

"""

二、循环

1. for

for 循环:依据任意序列中的子项,按其在序列中的顺序进行迭代

"""

# 背景:

# print("hello world")

# print("hello world")

# print("hello world")

# print("hello world")

# print("hello world")

 需要重复五次的输入,耗时耗力,可以用for循环来解决

"""

for循环的语法

# 变量名:是序列中的每一个元素

迭代对象:序列(字符串、字节、列表、元组)和其他可迭代对象

遍历:指将一个可迭代的对象每个元素都查看一遍。


for 变量名 in 序列(字符串、字节、列表、元组)和其他可迭代对象:

   循环体

"""

# 使用for循环输出5次hello world

# for i in "11111":

#     print("hello world")


# 可迭代对象可以换成其他的,只要满足可迭代对象是五次就可以。

# for i in "12345":

#     print("开始:")

#     print("hello world")


# 将可迭代对象中的每一个元素都加1

for i in "11111":

    # print(i,type(i))

    n=int(i)

    n+=1

    print(n)


# 1+2+3+4+5

s=0

for i in "12345":

    n=int(i)

    s=s+n

print(s)


#1+2+3+...100

# range(start,end,step)函数:能够产生一个列表

# 包含start不包含end

# step:默认1:方向是从左到右

# print(range(1,5))  # [1,2,3,4]  python2x

# print(list(range(1,5)))         python3x

a=range(1,5)

print(type(a))

for i in a:

    print(i)


print(list(range(1,101)))


# 1+...+100累加和

s=0

for  i  in range(1,101):

    # s=s+i

    s+=i

print(s)


# 练习

"""

1. 定义字符串、定义字节,使用for循环对其进行遍历,计算长度


"""

s="hello world python"

l=0

for i in s:

    print(i)

    l=l+1

print("通过for循环计算出的l={}".format(l))

# 0 1 2 3  ... len(s)-1

# for i in range(0,len(s)):

for i in range(len(s)):# 简化

    print("通过索引访问每一个元素",s[i])



# 字节的遍历是ascii

# 通过索引访问的也是ascii

l1=0

b=b"helloworldpython"

for i in b:

    l1+=1

    # print(i)

print("通过for循环计算出的l1={}".format(l1))

for i in range(len(b)):

    print("通过索引的方式访问字节元素",b[i])



#2. 输出1-100以内所有的奇数 使用两种办法

# print(list(range(1,101,2)))

for i in range(1,101):

    if i%2!=0:

        print(i,end=" ")

print()

#3.输出1-100以内所有的偶数

for i in range(1,101):

    if i%2==0:

        print(i,end=" ")


print()

#4.有一些列的温度数 30  50  66  99  58  20代表华氏温度

   #希望将这些温度变成摄氏温度: 摄氏温度=(华氏温度-32)/1.8

# (1)需要将每个温度变成摄氏温度

#(2)希望得到的结果仍然是字符串

"""

思路:

(1)如何将字符串处理成单个元素(温度),split(",")

 (2) 使用for循环处理每一个温度

    处理之前需要将温度转换float

(3)+可以拼接字符串

    format也能组装字符串

"""

s="30,50,66,99,58,20"

print(s.split(","))

t=s.split(",")

a=""

for  i in t:

    # print(i)摄氏温度=(华氏温度-32)/1.8

    x=(float(i)-32)/1.8

    # print(x)

    # a+=str(x)+","

    a+="{},".format(x)

s=a.rstrip(",")

print(s)

s="1.2,1.5,1.65892......."



# 2.循环的嵌套

"""

语法:

for  i  in 外循环对象:

   for j in 内循环对象:

      循环体

外循环每执行一次,内循环都会完整的执行一轮。

"""

#打印星星*

# print("******")

# print("*"*6)

#

# for i in  range(6):

#     print("*",end="")


# 需要打印10行,每行6个星星

for j in range(10):

    for i in range(6):

        print("*", end="")

    print()

# 写代码,通常先写内循环,再写外循环



#3. 跳出循环

# break:终止当前循环

# 希望在字符中检测有没有*

for i in "hel*djlkgdljgklgdjdkgj":

    if "*"==i:

        print("找到*")

        break


#输入一个数,判断是不是质数

# 质数:只能被自己和1整除

# 判断不是质数更容易

# num%(2...n-1) !=0 是质数

# num%(2...n-1) ==0 不是质数 break

import math

num=int(input("请输入一个数"))

tag=True

# print(math.sqrt(7))

for i in range(2,int(math.sqrt(num))+1):

    if num%i==0:

        print("不是质数")

        tag=False

        break

    # else:

    #     print("是质数")

# if tag==True:

if tag:#(简化)

    print("是质数")


# 因式分解

# 8=2*4

# 8=4*2

# 16=2*8

# 16=4*4

# 16=8*2

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 195,653评论 5 462
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 82,321评论 2 373
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 142,833评论 0 324
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,472评论 1 266
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,306评论 4 357
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,274评论 1 273
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,658评论 3 385
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,335评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,638评论 1 293
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,697评论 2 312
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,454评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,311评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,699评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,986评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,254评论 1 251
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,647评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,847评论 2 335

推荐阅读更多精彩内容

  • rljs by sennchi Timeline of History Part One The Cognitiv...
    sennchi阅读 7,260评论 0 10
  • 看过许多文章,都在鼓吹女孩们要找个成熟的男人在一起。 她们说“成熟的男人总是能把女孩们照顾的很好,不会做傻逼的事情...
    春雨碎碎念阅读 1,020评论 2 6
  • 我,我是《泡沫》的笔者。我不愿说自己是所谓的作者,我更想说,其实,这是一篇让我十分纠结的文字。有时,我是文中的小蛮...
    我是白小姐阅读 188评论 0 0
  • 众人喝茶,滋味口感千千万。 幼时喝茶,苦涩不已,喝下一口眉目扭曲,便不愿再碰,心内暗暗纳闷:这么苦的玩意,为何大人...
    5ebc5e57260e阅读 826评论 0 0