ex14.py
代码
from sys import argv
script, user_name, tall = argv
prompt = '> '
print(f"Hi {user_name}, I'm the {script} script.")
print("I'd like to ask you a few questions.")
print(f"Do you like me {user_name}?")
likes = input(prompt)
print(f"You're {tall} cm tall? OMG!!!")
print(f"Where do you live {user_name}?")
lives = input(prompt)
print("What kind of computer do you have?")
computer = input(prompt)
print(f"""
Alright, so you said {likes} about liking me.
You live in {lives}. Not sure where that is.
And you have a {computer} computer. Nice.
""")
'''-----------------------------------------------------------------------------'''
'''
1. 查查看 Zork 和 Adventure 游戏是什么,找来玩玩。
Zork I是电子游戏历史上最早的一款文字冒险游戏
2. 把 prompt 变量改成别的东西。
3. 在你的脚本里再加一个参数,就像之前练习中 first, second = argv 一样。
4. 确定你理解了我是如何在最后一行把 """ 多行格式字符(style multiline string)和 {} 格式激活器
(format activator)结合起来的
'''
运行结果
问题
我运行脚本的时候收到了 SyntaxError: invalid syntax 。
你得在命令行里运行它,而不是在 python 里。如果你输入 python3.6 ,然后再输入 python3.6 ex14.py Zed 194,就会无法运行,因为你是在 python 里面运行 python。关掉窗口,然后只输入 python3.6 ex14.py Zed 194。
你说的“改变提示符”是什么意思?
我不太理解。 看到这个变量 prompt = ‘>’ 了吗?改变它的值。你知道的,它只是一个字符串,你已经做了 13 个练习来创建它们了,所以好好想想,把它弄明白
我收到了报错信息: ValueError: need more than 1 value to unpack.
你需要看看“你会看到”那部分然后复制我的做法。这儿也一样,注意我是如何输入命令行的,以及我为什么有一个命令行参数。
我如何从 IDLE 来运行这些?
不要用 IDLE。
我能在 prompt 变量外面用双引号吗?
你完全可以,试试吧。
我运行的时候收到了报错信息:NameError: name ‘prompt’ is not defined 。
你要么把 prompt 变量拼写错了,要么把那行漏掉了。回过头去,从下到上比较每一行代码。你一旦遇到这种报错,就说明你拼写错误或者忘了创建变量