【发布时间】:2015-05-01 14:55:12
【问题描述】:
在 Learn Python The Hard Way (Exercise 13) 中,第 3 次学习练习中提到“将 raw_input 与 argv 结合起来,制作一个从用户那里获得更多输入的脚本。”
我在下面编写了这个脚本,目的是让终端提示用户回答三个问题,然后它会打印回带有这些答案的短语。但是,当我尝试使用以下命令运行它时,我收到一个关于没有足够的值来解包的错误:
python ex13.py
我知道我需要解压更多变量才能使脚本正常工作,因此当我键入此内容时,脚本会正常工作,但从不输出变量“第一”、“第二”或“第三”(我没有无论如何都不想):
python ex13.py first second third
我知道如何在不导入参数变量的情况下编写脚本,但我还能如何解释学习练习?我知道我没有正确理解学习练习的提示,但我不确定如何以不同的方式编写脚本,或者即使我朝着正确的方向前进。
谁能提供一些提示或建议?你不必直接给我答案(我喜欢弄清楚事情),但我现在不知所措。
我的脚本:
from sys import argv
script, color, number, shape = argv
color = raw_input("What is your favorite color? ")
number = raw_input("What is your favorite number? ")
shape = raw_input("What is your favorite shape? ")
print """
This program is called %r and it will determine your
favorite color, number and shape.
""" % script
print "Based on your answers, your favorite color is:", color
print "Your favorite number is:", number
print "And your favorite shape is a:", shape
【问题讨论】:
-
我想出了如何通过删除 eth "=" 前面的 ", color, number, shape" 来使脚本工作。但是我现在仍然在我的脚本名称周围加上括号: $ python ex13.py 你最喜欢的颜色是什么?紫色 你最喜欢的号码是什么? 17 你最喜欢的形状是什么?三角形 这个程序叫做 ['ex13.py'],它将确定你最喜欢的颜色、数字和形状。根据你的回答,你最喜欢的颜色是:紫色 你最喜欢的数字是:17 你最喜欢的形状是:三角形 $
标签: python terminal argv raw-input