标题大佬龟叔写的一个无聊到数瓶子的程序
我有一个习惯,基本安装过的程序我都喜欢打开它的安装目录去看看,Python3.8安装完毕后,同样进目录转了一转,发现了一个文件夹Demo,
有很多Python自带的示例小程序,每个都看了一看,其中的第一个beer.py文件就是龟叔写的小程序,对程序的具体解析看下面代码演示,中文是我写的解析:`
#!/usr/bin/env python3
声明这个程序的版本,使用的Python3,Linux版本
当然,在Windows下也可以使用,只是个提醒
"""
A Python version of the classic "bottles of beer on the wall" programming
example.
By Guido van Rossum, demystified after a version by Fredrik Lundh.
"""
这个程序是 ‘在墙上的啤酒瓶’,作者,龟叔。
import sys
#导入系统包
n = 100
if sys.argv[1:]:
#如果程序 外部参数有
n = int(sys.argv[1])
#外部参数转换成整数,也就是你输入的那个参数
def bottle(n):
if n == 0: return "no more bottles of beer"
if n == 1: return "one bottle of beer"
return str(n) + " bottles of beer"
#一个方法,逻辑判断,如果n为0和非0
#0返回 no more这句话
#1 返回这句话 one bottle
#非0非1返回 str(n)这句话
for i in range(n, 0, -1):
#步长为-1也就是递减循环
print(bottle(i), "on the wall,")
print(bottle(i) + ".")
print("Take one down, pass it around,")
print(bottle(i-1), "on the wall.")
#字符串拼接,并调用上述方法,n的值传入
#每一次循环使用bottle()方法更新瓶数
不是乱舔乱吹,整个程序结构紧凑,方法调用灵活,
字符串拼接什么的准确,两种功能数瓶子。可以传外部参数,但对外部参数没有验证。可能会造成奔溃。比如,如果输入字母,程序崩溃。可以不传外部参数,直接从100数到0.
顺带解释下外部参数指的是cmd 或者Linux等等操作系统下的命令行模式运行程序,在程序名称后 所添加的参数。