数据分析 --- day04python基础

一、三目运算符

1. 分支结构的简写

  • 单分支结构
if 条件语句: 代码段(只有一条语句的时候)

总结: 冒号换行一个缩进后面的代码如果只有一条语句,那么唯一的这条语句可以直接放在冒号后边

示例:

age = 19
if age >= 18 : print('成年')
  • 双分支与多分支结构

示例

#  单分支
if age >= 18: print('成年')
else:print('未成年')

# 多分支
if age <= 3:print('幼儿')
elif age <= 12:print('儿童')
elif age <= 18:print('青少年')
else:print('成年')

2. 三目运算符

  1. C语言的三目运算符:
条件?1:2        -       判断条件语句是否为真,如果整个运算表达式的结果是值1,否则是值2
  1. Python三目运算符:
1 if 条件 else2   -   判断条件语句是否为真,如果整个运算表达式的结果是值1,否则是值2

示例: 判断是否成年

age = 9
result = '成年' if age >= 18 else '未成年'
print(result)

二、 for循环

1. 循环结构

循环结构 - 让代码重复执行(代码只写一遍,重复执行多次)

示例: 打印5次 hello!

for _ in range(5):
    print('hello')

2. for循环

  1. 语法:
for 变量 in 序列:
    循环体
  1. 说明:
内容说明
for、in关键字,固定写法
变量合法的变量名
序列容器型数据类型对应的数据,例如:字符串、列表、字典、元组、集合、迭代器、生成器、range等
:固定写法
循环体结构上,和for保持一个缩进的一条或者多条语句(至少一条); 逻辑上,需要重复执行的代码
  1. 执行过程

让变量在序列中取值,一个一个的取,取完为止,每取一个值就执行一次循环体。(for循环循环次数,由序列中元素个数决定)

示例: 结果 - a 你好! b 你好! c 你好!

for i in 'abc':
    print(i,'你好!')

示例中的执行过程:

循环次数内容结果
1‘a’:print(i,‘你好!’)a 你好!
2‘b’:print(i,‘你好!’)b 你好!
3‘c’:print(i,‘你好!’)b 你好!

示例: 取nums中的元素并扩大10倍

nums = [10,86,45,13]
for i in nums:
    print(i * 10)

3. range函数

range函数是创建一个等差数列

  • range函数三种书写类型
类型解释示例取值
range(N)产生[0,N)的等差数列,差是1rang(5)0,1,2,3,4
range(M,N)产生[M,N)的等差数列,差是1rang(5,11)5,6,7,8,9,10
range(M,N,step)产生[M,N)的等差数列,差是steprange(3,16,3)3,6,9,12,15

注意: step 可以取负数,但此时的M>N

三、求和和统计个数的套路

1. 累计求和

求和套路步骤:

  1. 在循环外面定义个变量来保存最后的和 ( 变量默认值为0 )
  2. 通过循环依次获取所有需求和的对像
  3. 在循环中获取到一个求和的对象,就往保存和的变量中加一个数据(+=)
  4. 循环结束的时候保存和的变量中的数据就是最后的和

示例

  • 求1+2+3+…+100的和
sum1 = 0
for i in range(1,101):
    sum1 += i
print(sum1)
  • 求100到200中所有偶数的和(包含100和200)
sum2 = 0
for i in range(100,201,2):
    sum2 += i
print(sum2)
  • 求scores中所有分数
sum3 = 0
scores = [89, 56, 78, 70]
for i in scores:
    sum3 += i
print(sum3)
  • 求100以内所有能被3整除但是不能被5整除的数的和
# 方法1:
sum4 = 0
for i in range(101):
    if i % 3 == 0 and i % 5 != 0:
        sum4 += i
print(sum4)

# 方法2:
sum4 = 0
for i in range(0,101,3):
    if i % 5 != 0:
        sum4 += i
print(sum4)

2. 统计个数

  • 案例1: 统计scores中不及格的人数
scores = [89, 56, 78, 99, 48, 79, 30]
count = 0
for i in scores:
    if i < 60:
        count += 1
print(count)
  • 案例2: 统计100 ~ 200中能被7整除的偶数
count1 = 0
for i in range(100,201,2):
    if i % 7 == 0:
        count1 += 1
print(count1)

四、while循环

1. while循环

  1. 语法:
while 条件语句:
    循环体
  1. 执行过程:

不断判断条件语句是否为True,为True就执行循环体。直到条件语句为False,整个循环直接结束!
(先条件语句是否为True,为True就执行循环体,执行完循环体再判断条件条件语句是否为True,为True再执行循环体,…以此类推,直到条件语句为False,整个循环直接结束)

2. for循环和while循环的选择

基本原则: 能用for循环解决的问题都使用for循环,for循环解决不了的才使用while循环。

for解决不了的问题: 循环次数不确定(程序员在写代码的时候无法确定循环次数 - 次数由使用者决定)

案例: 提示用户输入密码,直到正确为止

pw = '123456'
value = None
while value != pw:
    value = input('请输入密码:')
print('密码正确')

五、continue和break

注意continue和break是关键字,只能在循环中使用

1. continue

作用: 结束一次循环。

场景: 执行循环体的时候如果遇到了continue那么这次循环结束,直接进入下一次循环

下列代码只打印5行 ======

for i in range(5):
    print('======')
    continue
    print('++++++')
    print('------')

下列代码只打印1,3,5,7,9

for i in range(10):
    if i % 2 == 0:
        continue
    print(i)

2. break

作用: 结束整个循环

场景: 执行循环体的时候如果遇到break,整个循环直接结束

下列代码只打印一行 ======

for i in range(5):
    print('======')
    break
    print('++++++')
    print('------')

下列代码打印结果 - 0

for x in range(10):
    if x != 0:
        break
    print(x)

下列代码打印结果 - 0 1 2

for x in range(10):
    if x == 3:
        break
    print(x)

3. 当while遇上break

  • while循环使用的固定结构
while True:
    需要重复执行的操作
    if 循环结束条件:
        break
  • 示例:

输入密码:

pw = '123456'
while True:
    value = input('请输入密码:')
    if value == pw:
        break

猜数字游戏(randint是导入一个随机数)

from random import  randint
value = randint(0, 100)
count = 0
while True:
    num = int(input('请输入一个数'))
    if num < value:
        print('小了')
    elif num > value:
        print('大了')
    else:
        print('回答正确')
        break

六、循环的else

1. 完整的for结构

  1. 完整的for循环
for 变量 in 序列:
    循环体
else:
    循环体
  1. 完整的while循环
while 条件语句:
    循环体
else:
    代码段

else的作用:

  • else的存在不会影响原来循环的执行
  • 如果前边的循环是自然死亡的,在循环结束后会执行else中的代码段;如果循环是因为遇到break而结束的,else中的代码就不会执行

示例:打印5遍 ==== 一遍 ****

for x in range(5):
    print('====')
else:
    print('****')

示例: 打印结果 - 0 1 2 3 4 15

sum1 = 0
for i in range(10):
    sum1 += i
    if i == 5:
        break
    print(i)
else:
    print('!!!!')
print(sum1)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值