Skip to main content
 首页 » 编程设计

python之关于魔术 8 球程序的问题,其中包含一个来自使用 Python 自动化无聊的东西的列表

2025年05月04日19birdshome

我无法理解《用 Python 自动化无聊的东西》一书中的神奇 8 球程序。该程序基本上在列表中有一堆消息,然后使用 random.randint 方法随机选择其中一条消息。代码如下:

import random 
 
messages = ['It is certain', 
    'It is decidedly so', 
    'Yes definitely', 
    'Reply hazy try again', 
    'Ask again later', 
    'Concentrate and ask again', 
    'My reply is no', 
    'Outlook not so good', 
    'Very doubtful'] 
 
print(messages[random.randint(0, len(messages) - 1)]) 

如您所见,这个程序相当简单。我的问题是关于最后一行。他为什么要从消息长度中减去 1? random.randint 方法不应该从所有消息中选择一些东西,而不仅仅是一些。有 9 条消息,但减去一条意味着只有 8 条消息通过 random.randint 方法。有人可以解释一下为什么他要从消息长度中减去 1 吗?

预先感谢您的回复!

请您参考如下方法:

Python 索引从 0 而不是 1 开始。如果列表中有 9 个条目,则需要 0-8 范围内的随机整数。