python-3.x - python返回/打印列表中一行中最大数量的值
问题描述
我是初学者。
试图制作一个可以返回连续最高数字的函数,选择了列表中的值。
基本上我想模拟正面或反面游戏,并找出连续多少次,例如反面。
import random
def simulations(runs):
sequence = []
in_a_row = []
tæller = 0
for run in range(0, int(runs)):
my_random = random.randint(0,1)
sequence.append(my_random)
if my_random == 0:
in_a_row.append(my_random)
tæller = tæller + 1
print()
elif my_random == 1:
tæller = 0
in_a_row = []
print()
print(f'{tæller}')
print(sequence)
# runs = input('How many simulations do you want to run ? ')
runs = 10
simulations(runs)
我想我快到了。但是我想不通,当我运行这段代码时,我首先打印出被选中的实际值,然后查看到目前为止创建的列表。
例如,如果 my_random == 0 连续 3 次,它将在每次为 0 时打印,直到它选择 1。
我想要的是代码只打印在整个列表中选择 0 的最长序列
我知道我的代码是意大利面条,功能还没有完成,但我相信我自己可以做到。我只需要一些帮助来隔离从列表中连续选择给定值的次数。
解决方案
嗯,我想我终于能够自己创建一个解决方案。
很高兴我想我花了 5 个小时试图弄清楚。
这是我的解决方案。如果有人可以对我的解决方案发表评论,我仍然会很高兴,并且可能会展示另一种更简单的方法:-)
import random
def simulations(runs):
sequence = []
in_a_row = []
found_zero = 0
all_time_high = [0]
for run in range(int(runs)):
my_random = random.randint(0,1)
sequence.append(my_random)
if my_random == 0:
in_a_row.append(my_random)
found_zero = found_zero + 1
print(f'fundet 0 ja: {found_zero} Gange')
all_time_high.append(found_zero)
elif my_random == 1:
found_zero = 0
in_a_row = []
print()
print(sequence)
print(f'Higest number of times in a row zero was found: {max(all_time_high)}')
# runs = input('How many simulations do you want to run ? ')
runs = 10
simulations(runs)
推荐阅读
- php - OpenWeatherMap api 没有返回关联数组的错误
- react-native-render-html - ReactNative - 无法强制段落在 react-native-render-html 中从右到左显示文本
- api - 来自 CURL 或 PHP 的应用程序脚本中的 PUT 方法!不工作
- java - 将 CardViews 从另一个 Activity 动态添加到 LinearLayout
- javascript - 当我断开连接或当我有同一个用户的多个选项卡时,Socket.io 代码不会在 DOM 上更新。但是,当我连接时,它工作正常。为什么?
- c# - 通过 ASP.NET Core Web API 使用存储过程从 SQL Server 返回多个行集
- go - 解组自定义值映射
- python - pip 包仅安装在默认的 mac 终端中,而不是安装在文本编辑器(atom/vscode)中的任何集成终端中
- flutter - 如何在颤动中将文件从file.path转换为base64
- macos - Visual Studio Mac:NUnit:为什么项目名称旁边有红色闪电?