返回介绍

4.5 例子程序:神奇8球和列表

发布于 2024-01-22 21:44:07 字数 1232 浏览 0 评论 0 收藏 0

前一章我们写过神奇8球程序。利用列表,可以写出更优雅的版本。不是用一些几乎一样的elif语句,而是创建一个列表,针对它编码。打开一个新的文件编辑器窗口,输入以下代码,并保存为magic8Ball2.py:

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)])

Python中缩进规则的例外

在大多数情况下,代码行的缩进告诉Python它属于哪一个代码块。但是,这个规则有几个例外。例如在源代码文件中,列表实际上可以跨越几行。这些行的缩进并不重要。Python知道,没有看到结束方括号,列表就没有结束。例如,代码可以看起来像这样:

spam = ['apples', 'oranges', 'bananas', 'cats'] print(spam)

当然,从实践的角度来说,大部分人会利用Python的行为,让他们的列表看起来漂亮且可读,就像神奇8球程序中的消息列表一样。

也可以在行末使用续行字符\,将一条指令写成多行。可以把\看成是“这条指令在下一行继续”。\续行字符之后的一行中,缩进并不重要。例如,下面是有效的Python代码:

print('Four score and seven ' + \ 'years ago...')

如果希望将一长行的Python代码安排得更为可读,这些技巧是有用的。

运行这个程序,你会看到它与前面的magic8Ball.py程序效果一样。

请注意用作messages下标的表达式:random.randint(0, len(messages) - 1)。这产生了一个随机数作为下标,不论messages的大小是多少。也就是说,你会得到0与len(messages) - 1之间的一个随机数。这种方法的好处在于,很容易向列表添加或删除字符串,而不必改变其他行的代码。如果稍后更新代码,就可以少改几行代码,引入缺陷的可能性也更小。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文