Python学习第四天:列表的初次见面

Python学习第四天:列表的初次见面

在这里插入图片描述

​ 在经过练习分支结构与循环结构的综合利用后,我们基本上已经可以应对一些简单的循环分支的代码题。

例如:将一颗骰子掷60000次,统计每一面出现的次数

"""
example01 - 将一颗骰子掷60000次,统计每一面出现的次数

import random:导入random包

random.randrange(1, 7) ---> 用1-6的随机数模拟掷骰子

Author:悾格
Date: 2021/7/23
"""
import random
f1, f2, f3, f4, f5, f6 = 0, 0, 0, 0, 0, 0
total = 0
for _ in range(0, 60000):
    time = random.randrange(1, 7)
    if time == 1:  # 当骰子掷到1时,f1加1,以此类推
        f1 += 1
    elif time == 2:
        f2 += 1
    elif time == 3:
        f3 += 1
    elif time == 4:
        f4 += 1
    elif time == 5:
        f5 += 1
    else:
        f6 += 1
print(f'掷到1的次数:{f1}')
print(f'掷到2的次数:{f2}')
print(f'掷到3的次数:{f3}')
print(f'掷到4的次数:{f4}')
print(f'掷到5的次数:{f5}')
print(f'掷到6的次数:{f6}')

​ 上面的代码就是我自己根据分支循环写出的代码,由上可以看出我们现在写出的代码就目前而言感觉还好,但是当我们更近一步更改题目要求

如:将两颗骰子掷60000次,统计每一面出现的次数

mport random
f2, f3, f4, f5, f6 = 0, 0, 0, 0, 0
f7, f8, f9, f10, f11, f12 = 0, 0, 0, 0, 0, 0
total = 0
for _ in range(0, 60000):
    time1 = random.randrange(1, 7)
    time2 = random.randrange(1, 7)
    if time1 + time2 == 2:
        f2 += 1
    elif time1 + time2 == 3:
        f3 += 1
    elif time1 + time2 == 4:
        f4 += 1
    elif time1 + time2 == 5:
        f5 += 1
    elif time1 + time2 == 6:
        f6 += 1
    elif time1 + time2 == 7:
        f7 += 1
    elif time1 + time2 == 8:
        f8 += 1
    elif time1 + time2 == 9:
        f9 += 1
    elif time1 + time2 == 10:
        f10 += 1
    elif time1 + time2 == 11:
        f11 += 1
    else:
        f12 += 1

print(f'掷到2的次数:{f2}')
print(f'掷到3的次数:{f3}')
print(f'掷到4的次数:{f4}')
print(f'掷到5的次数:{f5}')
print(f'掷到6的次数:{f6}')
print(f'掷到7的次数:{f7}')
print(f'掷到8的次数:{f8}')
print(f'掷到9的次数:{f9}')
print(f'掷到10的次数:{f10}')
print(f'掷到11的次数:{f11}')
print(f'掷到12的次数:{f12}')

​ 一比较,两个代码之间没有多大的区别,用的方法也是差不多的,主要是在于我们需要定义的量变多了

​ 因此,我们就引入了列表

# 一个骰子
# a = [0, 0, 0, 0, 0, 0]
a = [0] * 6
for _ in range(60000):
    face = random.randrange(1, 7)
    a[face - 1] += 1

for i, value in enumerate(a):
    print(f'{i + 1}点摇出了{value}次')

print(f'{a}')
# 两个骰子
# a = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
b = [0] * 11
for _ in range(120000):
    face1 = random.randrange(1, 7)
    face2 = random.randrange(1, 7)
    face = face1 + face2
    b[face - 2] += 1
for i, value in enumerate(b):
    print(f'{i + 2}点摇出了{value}次')
print(f'{b}')

容器型数据类型(用一个变量可以保存多个数据)

  • 列表(list) ----> 1.元素过长时,可以进行换行缩进,不影响列表中的元素
  • 元组(tuple)
  • 集合(set)
  • 字典(dict)
"""
example02 - 容器型数据类型(用一个变量可以保存多个数据)



Author:悾格
Date: 2021/7/23
"""

# 创建列表的自变量语法
num = [10, 100, 1000]
rules = ['加油', '开心', '快乐', '高兴', '激动']

# 追加元素(把元素加到列表的末尾)
num.append(100)
# 插入元素(在指定位置插入元素)
num.insert(0, 1)

print(num)
# 删除元素(默认删除最后一个元素)
rules.pop()
rules.pop()

print(rules)
# 列表的遍历(把每个元素依次取出)
"""
example03 - 列表的遍历(把每个元素依次取出来)

Author:悾格
Date: 2021/7/23
"""

# 正向索引:列表从头部开始算起,以0为下标,依次增加;
# 反向索引:从未部开始,以-1为下标,依次减小
num = [35, 98, 12, 27, 66]
# print(num[0], num[-2])

for i in range(len(num)):
    print(num[i])
    num[i] += 1
    print(num[i])
print(num)



# 对列表进行读操作的for循环,无序号
for x in num:
    print(x)
# 有序号
# 先通过enumerate函数对列表进行预处理
# 循环遍历的时候既可以获取到索引(下标)又可以获取到元素
for i, x in enumerate(num):
    print(i, x)

# 对列表进行读写操作的for循环,有序号
for i in range(len(num)):
    print(num[i])
    num[i] = 100
print(num)
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值