学习日志2021.1.26
列表 - 容器型数据类型 一个变量可以保存多个数据,通过循环可以完成对列表中每个元素的操作
摇色子6000次,统计每一面出现的次数
import random
fs = [0] * 6
for _ in range(6000):
face = random.randint(0, 5)
fs[face] += 1
for i in range(6):
print(f'{i + 1}点出现了{fs[i]}次')
列表的生成式(推导式) 创建列表的一种字面语法
a = [x for x in range(1, 101)]
b = [x for x in range(2, 100, 2)]
c = [x for x in range(1, 101) if x % 3 == 0 or x % 5 == 0]
d = [x ** 2 for x in range(1, 11)]
print(c)
双色球:六个红色球 + 一个蓝色球
红色球:1 - 33选六个不重复球
蓝色球:1 - 16选一个球
实现一个双色球随机选号程序
import random
x = int(input('输入'))
for _ in range(x):
a = [x for x in range(1, 34)]
# sample() 无放回随机抽样
zhu = random.sample(a, 6)
# for i in range(6):
# z = a[random.randint(0, len(a) - 1)]
# zhu.append(z)
# a.remove(z)
# sort()排序方法 输入reverse = True 则是降序
zhu.sort()
zhu.append(random.randint(1, 16))
print(zhu)
# for ball in zhu:
# # 补零至两位数
# print(f'{ball: 0>2d}',end=' ')
# print()
josephu环问题
有15个男人和15个女人乘船在海上遇险,为了让一部分人活下来,
不得不将其中15人扔到海里,有人想了个办法:让大家围成一个圈,由某个人开始从1报数,报到9的人就扔到海里面,他后面的人接着从1开始报数,报到9的人继续扔到海里面,知道将15个人扔到海里。
最后15个女人幸免于难,15个男人都被扔到了海里,问这些人最开始是怎么站的,哪些位置是男人,哪些位置是女人
survive = [1] * 30
count = 0
count_deth = 0
index = 0
while True:
if survive[index]:
count += 1
if count == 9:
count = 0
count_deth += 1
survive[index] = 0
else:
pass
index += 1
# 保证index的循环
index %= 30
# if index < 29:
# index += 1
# else:
# index = 0
if count_deth == 15:
# A if B else C 三元判断(如果B则A,否则C)
# for person in survive:
# # 三元条件运算
# print('女' if person else '男', end='')
print(survive)
break