练习 14 提示和传递

    ex14.py

    我们把用户提示符设置成变量 prompt ,然后把它赋给 input 而不是一遍遍地输入它们。现在如果我们想把提示符变成别的东西,只要修改一个地方,然后重新运行脚本即可,非常方便。

    当你运行脚本的时候,记住一定要把你的名字赋给这个脚本,让 argv 接收到你的名字。

    1. $ python3.6 ex14.py zed
    2. Hi zed, I'm the ex14.py script.
    3. I'd like to ask you a few questions.
    4. > Yes
    5. Where do you live zed?
    6. > San Francisco
    7. What kind of computer do you have?
    8. > Tandy 1000
    9. You live in San Francisco. Not sure where that is.
    10. And you have a Tandy 1000 computer. Nice.
    • 查查看 Zork 和 Adventure 游戏是什么,找来玩玩。
    • 把 变量改成别的东西。
    • 在你的脚本里再加一个参数,就像之前练习中 first, second = argv 一样。
    • 确定你理解了我是如何在最后一行把 """ 多行格式字符(style multiline string)和 {} 格式激活器(format activator)结合起来的。

    我运行脚本的时候收到了 SyntaxError: invalid syntax我再说一次,你得在命令行里运行它,而不是在 python 里。如果你输入 python3.6,然后再输入 python3.6 ex14.py Zed ,就会无法运行,因为你是在 python 里面运行 python。关掉窗口,然后只输入 python3.6 ex14.py Zed

    你说的“改变提示符”是什么意思?我不太理解。看到这个变量 prompt = '>' 了吗?改变它的值。你知道的,它只是一个字符串,你已经做了 13 个练习来创建它们了,所以好好想想,把它弄明白。

    我收到了报错信息:ValueError: need more than 1 value to unpack. 我前面说过,你需要看看“你会看到”那部分然后复制我的做法。这儿也一样,注意我是如何输入命令行的,以及我为什么有一个命令行参数。

    我能在 prompt 变量外面用双引号吗?你完全可以,试试吧。

    你有一台 Tandy computer?是的,在我很小的时候。

    我运行的时候收到了报错信息:NameError: name 'prompt' is not defined 。 你要么把 变量拼写错了,要么把那行漏掉了。回过头去,从下到上比较每一行代码。你一旦遇到这种报错,就说明你拼写错误或者忘了创建变量。