【python基础】条件与循环语句

一、条件语句:if

条件语句是通过一条或多条语句的执行结果(True或False)来决定执行的代码块

条件语句的执行过程:

关键字:if  用来判断

格式:if 判断条件

    符合条件时,要执行的代码

   elif 判断条件:

    符合条件时,要执行的代码

   else:

    以上条件都不符合的情况下,要执行的代码

eg:

1.如果有1w,去吃大餐,如果有2w,去旅游,如果有10w,买小车。
money
=50000

if money>=100000: print("哈哈哈哈去提车~")
elif money<=10000: print("组团去吃去吃大餐~")
elif money>=20000: print("去和朋友旅游呀~")
else: print("容我再想想~")

in ,not in判断是否在一个元素里面

a=[1000,3000,500]
b=200

if b in a:
    print(1)
else:
    print(0)

二、循环

循环语句for,程序在一般情况下是按顺序执行的,循环语句允许我们执行一个语句或语句组多次,循环语句的执行过程如下:

关键字:for   用例遍历对象

从对象的第一元素到最后一个元素都依次访问一遍

格式:for 元素 in 集合:

    执行的代码

   for item in iterable:

    do sth

循环语句while

格式:while 满足的条件:

  满足条件执行的语句

特点:执行第一次是否满足,满足,执行第二次循环,在满足条件的基础上,一直去循环,直到条件不满足,终止代码循环

eg:

#如果j<i,j递增1,直到就j>=i,j不在递增
i=20 j=16 while j<i: j+=1 print(j)

console:
17
18
19
20

遍历列表:

方式一:按下标来遍历:

for index in range(列表长度)

  index:下标

  取值:列表变量名[index]

方式二:直接遍历其中的值:

for Item in 列表变量名:

  item:就是列表中的元素

 

拓展:

range(n):默认生成一个0到0-1的整数序列,对于这个整数序列,我们可以通过list()函数转化为列表类型的数据。

range(n,m):默认生成一个n到m-1的整数序列,对于这个整数序列,我们可以通过list()函数转化为列表类型的数据

range(n,m,k):相当于其他函数里面的for循环,n初始值   m结束值   k步长

range(6,0,-1):相当于初始值为6,最后值为1(大于0),每次递减1,最后生成:6 5 4 3 2 1 0 

思考:

range(-1,5,1)生成的是什么?

 

eg:

list1=['西瓜','葡萄','荔枝','香蕉']
#1.按下标取值 [0,1,2,3]=range(len(list1))
for index in range(len(list1)):
    print(list1[index])

#2.直接取值
for item in list1:
    print(item)

#完成1-100的累加计算
思路:for循环应用range函数可以实现传统的for循环功能,实现循环从一个数字开始计数到另一个数字,一旦到达最后的数字或者某个条件不再满足就立刻退出循环。
result=0
for i in range(1,101):
    result=result+i
print(result)

#方法一
#思路:for 成员运算
#已知你喜欢的歌手列表,并判断是否在男歌手或者女歌手里面,如果在,请输入数量。 input=['迪丽热巴','陈奕迅','小七'] Girl_singers=['孙燕姿','邓紫棋','田馥甄'] Boy_singers=['陈奕迅','周柏豪','陈小春'] girl_sum=0 boy_sum=0 for singer in input:#singer代表每一个歌手,input为一个列表,判断歌手是否在input里, if singer in Girl_singers: girl_sum+=1 if singer in Boy_singers: boy_sum+=1 print(girl_sum) print(boy_sum)

#方法二
#判断你输入的歌手是否在女歌手和男歌手列表中,如果存在,就输出数量并存在列表中
Girl_singers=['邓紫棋','孙燕姿','苏打绿']
Boy_singers=['陈奕迅','周柏豪','周杰伦']
Girl_num=0
Boy_num=0
Girl_s=[]
Boy_s=[]
input_1=input("请输入你喜欢的歌手:")
s=input_1.split('、')
for singer in s:
if singer in Girl_singers:
Girl_num+=1
Girl_s.append(singer)
if singer in Boy_singers:
Boy_num+=1
Boy_s.append(singer)
print(Girl_num)
print(Boy_num)
print(Girl_s)
print(Boy_s)

 三、嵌套循环

释义:

在一个循环当中,每访问一个值时都完成另外一个循环,再访问下一个值。

语法:

for item1 in 集合1(列表/字典/字符串/元祖):

  #item 每取到一个值,则进行如下循环

  for item2 in 集合2(列表/字典/字符串/元祖)#嵌套循环

    循环体2

  #直到item2取集合2中所有元素后,item再取集合1中的下一个值

ps:注意缩进

 

eg:

循环案例:——一坨人在排队买喜茶

Alice  Helun  Halu  Lewis  paul  Zheng  Sunny  XiXi

1       2   3   4   5   6  7   8

喜茶样式及蛋糕:

芝士茗茶、芝士芒芒、草莓芒芒、芝士奶盖茉莉花茶、鲜奶布雷波波奶茶、草莓蛋糕

1      2         3      4        5        6

请用代码输出没人领取每份美食的过程?

Question1:大家各个喜茶样式都领取一次

Question2:Lewis和Xixi只领取草莓蛋糕,其他的不要

 

实例:

person=["爱丽丝","海伦","哈鲁","路易斯","","瑞希","桑尼","露西"]
xicha=["芝士茗茶","芝士芒芒","草莓芒芒","芝士奶盖茉莉花茶","鲜奶布雷波波奶茶","草莓蛋糕"]

for p in person:
    print(p)
    for food in xicha:
        if person=="路易斯":
            if food=="奶茶蛋糕":
                print(person+"拿了食物:"+food)
                break
        else:
            print(p+"领取了食物"+food)
    print("叮咚~,"+p+"你的号响了,请到前台来领取!")

#思考:
#先看下外层大家做了什么事情,先把外层的循环写出来,再考虑内层。 #再看内层做什么,如果内层也是访问一个集合中所有的元素,也通过for循环使用。 #循环访问10次,试想如果只访问一次的时候,做什么?再去考虑,十次怎么做?

 

posted @ 2019-04-05 00:31  做一只热爱生活的小透明  阅读(381)  评论(0编辑  收藏  举报