数据分析入门_PART1python基础语法_CH05条件及循环语句

'''
【课程5.1】  条件判断:if语句

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

if 判断条件:
    执行语句……
else:
    执行语句……
    
** 开始有缩进的概念

记忆3点:写if else牢记于心:if: elif: else:1有:冒号 2有缩进 3and or 符合条件(a and b)or(c and d)
'''
'\n【课程5.2】  条件判断:if语句\n\nPython条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。\n\nif 判断条件:\n    执行语句……\nelse:\n    执行语句……\n    \n** 开始有缩进的概念\n\n注意:if: elif: else:后 1有: 2有缩进\n'
# if语句后面必须有1括号() 2:冒号
#3自动缩进
# if下的执行语句写完后,要退回原有缩进继续写
# Python代码的缩进规则:具有相同缩进的代码被视为代码块

# 基本判断语句
age = 12 
if age<18:
    print('18岁下')
18岁下
#输入函数input()
#读取并返回键盘输入,input()括号内为提示语句字符串,
#默认返回string类型,可以通过类型转换变成int float等类型

score=input('请输入分数')
print(type(score))
print('该学生成绩'+score)
请输入分数88
<class 'str'>
该学生成绩88
# 两种条件判断:if-else
flag=False #注意python中False True必须大写首字母
name=input('请输入姓名')
if name=='boss':
    flag=True
    print('welcome boss')
else:
    print(name+'not authorized')
请输入姓名boss
welcome boss
# 多种条件判断:if-elif-...-else
num = int(input('输入编号'))
if num == 3:
    print('boss')
elif num == 2:
    print('user')
elif num == 1:
    print('worker')
else: 
    print('not authorized')
输入编号3
boss
# 单语句多条件判断:or或 and与 not非

# 判断值是否在0~10之间
# 输出结果: hello
num = int(input('输入数字'))
if(num<10 and num>0):
    print('hello')

# 判断值是否在小于0或大于10
# 输出结果: undefine
num = int(input('输入数字'))
if(num>10 or num<0):
    print('undifined')

# 判断值是否在0~5或者10~15之间
#与或混合语句 内与外或
# 输出结果: undefine
num = int(input('输入数字'))
if(num>0 and num<5)and(num>10 and num<15):
    print('hello')
else:
    print('undifined')
输入数字5
hello
输入数字5
输入数字5
undifined
'''
小作业
① 编写一个简单的判断语句代码:输入某个成绩,如果成绩分数大于或等于60分,则返回及格,小于60分,则返回不及格
② 编写猜数字小游戏的代码:输入一个数字,分别针对猜对数字、猜错数字、输入错误给予判断
'''
#①
score=int(input('please input your score'))
if (score>=60):
    print('pass')
else:
    print('fail')
please input your score66
pass
#②
numstr=input('please input your num')
if (numstr.isnumeric()):
    num=int(numstr)
    if(num==66):
        print('yes')
    elif(num!=66):
        print('no')
else:
    print('worong input')
please input your num66
yes
'''
【课程5.2】  循环语句:for循环

for循环可以遍历任何序列的项目,如一个列表或者一个字符串。

迭代

重点:许多小伙伴弄不懂for到底是个什么执行逻辑
其实如果看for的底层实现源码会发现其实for的作用是拆序列or视图的外层括号
将括号内的元素依次赋给临时循环变量i
eg
for i in range(5):
此处range(5)=【0,1,2,3,4】
for拆除了【】
i依次被赋予 0,1,2,3,4

记忆4点:1for拆括号,依次将括号内元素赋予i 2for后有; 3for后缩进 4复合条件+()
后3点和if相同
'''

'\n【课程5.3】  循环语句:for循环\n\nfor循环可以遍历任何序列的项目,如一个列表或者一个字符串。\n\n迭代\n\n重点:许多小伙伴弄不懂for到底是个什么执行逻辑\n其实如果看for的底层实现源码会发现其实for的作用是拆序列or视图的外层括号\n将括号内的元素依次赋给临时循环变量i\neg\nfor i in range(5):\n此处range(5)=【0,1,2,3,4】\nfor拆除了【】\ni依次被赋予 0,1,2,3,4\n\n记忆4点:1for拆括号,依次将括号内元素赋予i 2for后有()3for后有; 4for后缩进\n后三点和if相同\n'
# 想输出"hello world"5次怎么办?
for i in range(5):
    print('hello world')
hello world
hello world
hello world
hello world
hello world
# 通过for遍历序列、映射

# 遍历list
lst=list(range(10))
for i in lst :
    print(i)

# 遍历字典,字典无序,循环只支持有序的视图or列表,所以要先将dic变成视图dic.keys dic.values or列表
age={'tom':44,'jim':56,'sam':99}
for name in age.keys():
    print('age equals',age.get(name))
0
1
2
3
4
5
6
7
8
9
age equals 44
age equals 56
age equals 99
# 循环套循环,注意:尽量不要多于3个嵌套

# 嵌套循环
for i in range(2):
    for j in range(3):
        print(i,j)
0 0
0 1
0 2
1 0
1 1
1 2
"""
小作业
① 生成一个数值列表,用for循环打印出所有元素
② 用for循环遍历一个字符串,打印出各个字母
③ 生成一个字典,分别打印出key和value
④ 用input输入一个循环次数n,打印hello world n遍
⑤ 码一个等差数列,四个变量:首项a,项数n,公差d,求和s,这几个参数都可通过input()输入
⑥ 两组列表["a", "b", "c"],[1,2,3],用for循环把它们组成一个字典,一一对应
"""
#①②③④如上

#⑤
n=int(input('input n'))
a=int(input('input a'))
d=int(input('input d'))
s=0
for i in range(n):
    num=a+i*d
    s+=num
print('result is ',s)
input n5
input a5
input d5
result is  75
#⑥
#重点回忆 dic的创建方法只有三种 最常用且适合此题的只有dict(listofcouplist)
a=["a","b","c"]
b=[1,2,3]
lst=[]
for i in range(len(a)):
    lst.append([a[i],b[i]])
dic=dict(lst)
print (dic)

{'a': 1, 'b': 2, 'c': 3}
'''
【课程5.3】  循环语句:while循环

执行语句可以是单个语句或语句块

判断条件可以是任何表达式,任何非零、或非空(null)的值均为true。

当判断条件假false时,循环结束。

记忆4点 1常用于不明确多少次结束的循环,配合break continue 2冒号 3缩进 4复合条件+()
后三点和if for相同
'''

'\n【课程5.4】  循环语句:while循环\n\n执行语句可以是单个语句或语句块\n\n判断条件可以是任何表达式,任何非零、或非空(null)的值均为true。\n\n当判断条件假false时,循环结束。\n\n记忆4点1括号 2冒号 3缩进 4常用于不明确多少次结束的循环,配合break continue\n'
# 基本运行逻辑
count=0
while count<9:
    print(count)
    count=count+1
print('bye')
# 关于无限循环:如果条件判断语句永远为 true,循环将会无限的执行下去
# 该条件永远为true,循环将无限执行下去
# 一定要避免无限循环!!
var = 1
while var == 1 :  
    num = input("Enter a number  :")
    print( "You entered: ", num)
print( "Good bye!")

# while-else语句
# 逻辑和if-else一样不常用
count = 0
while count < 5:
    print(count, " is  less than 5")
    count = count + 1
else:
    print(count, " is not less than 5")

'''
【课程5.4】  循环控制语句

break:在语句块执行过程中终止循环,并且跳出整个循环

continue:在语句块执行过程中跳出该次循环,此次循环内continue下的语句全部不执行,直接进入执行下一次循环

pass:pass是空语句,占位符,是为了先写出函数声明不填写具体内容让解释器运行时不报错

'''
# break语句
#break后不再执行并跳出循环
s=0
n=1
while n>0:
    s=s+n
    n=n+1
    if n==20:
        break
print(s)

#多层循环,break跳出最底层的循环
for i in range(5):
    for j in range(5):
        if j>2:
            break
        print(i,j)
190
0 0
0 1
0 2
1 0
1 1
1 2
2 0
2 1
2 2
3 0
3 1
3 2
4 0
4 1
4 2
# continue语句
# continue 语句用来告诉Python跳过!!!当前循环的剩余语句!!!,然后继续进行下一轮循环。
s=0
for i in range(50):
    if i%2==0:
        continue
    print(i)
1
3
5
7
9
11
13
15
17
19
21
23
25
27
29
31
33
35
37
39
41
43
45
47
49
# pass语句 占位符
#常用于声明空函数
def func1():
    pass

猜你喜欢

转载自blog.csdn.net/weixin_40974922/article/details/93177355