2012-02-18 93 views
1

我在练习13中学习Python的难题时遇到了额外的问题。
它希望我结合argv和raw_input,这是我无法弄清楚的。
任何人都可以帮我吗?例子会很棒!
非常感谢!
编辑:下年度的原代码是:学习Python的难题帮助:练习13

from sys import argv 

script, first, second, third = argv 

print "The script is called:", script 
print "Your first variable is:", first 
print "Your second variable is:", second 
print "Your third variable is:", third 
+1

如果你发布了一些没有坐在办公桌上的本书的代码,那就太好了。 – jdi 2012-02-18 02:25:08

+0

作为参考,正在讨论的练习在这里:http://learnpythonthehardway.org/book/ex13.html – checkorbored 2012-02-18 02:25:21

回答

2

一个例子,就是答案,这是不太可能来帮助你的最佳方式没有什么区别。不过,也许你正在反思这个问题。我相信这个想法是使用一些命令行输入(进入argv)和一些输入的输入(通过raw_input来创建)来创建一个报告这两者的脚本。例如,它可能会产生:

The script is called: ex13.py 
Your first variable is: cheese 
Your second variable is: apples 
You entered the following data: foo bar baz 
+0

哦,这比我想要做的更有意义...谢谢! – 2012-02-18 02:28:45

0
import sys 

def main(): 
    all_args = sys.argv[:] 
    user = None 
    while user != 'STOP': 
     user = raw_input('You have %d args stored. Enter STOP or add another: ' % len(all_args)) 
     if user != 'STOP': 
      all_args.append(user) 
    print 'You entered %d args at the command line + %d args through raw_input: [%s]' % (len(sys.argv), len(all_args) - len(sys.argv), ', '.join(all_args)) 

if __name__ == '__main__': 
    main() 
0

这是令人困惑我也。作者将这个问题放在他的常见问题底部。

问:我不能将argv与raw_input()结合使用。 A:不要反套。只需在该脚本的最后使用raw_input()获取某些内容然后将其打印出来即可。从此开始玩更多的方式来使用在同一个脚本。

+0

如果您有新问题,请通过单击[提问](http://stackoverflow.com/questions/ask)按钮来提问。如果有助于提供上下文,请包含此问题的链接。 – NKN 2014-10-28 20:07:53

+0

不是一个新问题。作者在例子下面的faq中回答了这个问题。我只是指出提交人已经有过这个问题并回答了。 – CM1980 2014-11-02 07:38:09

1

这是我想做到这一点:

from sys import argv 

script, weather, feeling = argv 

print "Hot or Cold", 
weather = raw_input() 

print "Happy or sad", 
feeling = raw_input() 

print "The name of the script is:" , script 
print "The day is:", weather 
print "Today I am feeling:", feeling 
0

这是我如何解决这个(注:你仍然必须提供的参数在最初运行脚本)

from sys import argv 

script, first, second, third = (argv) 

print "The script is called:", script 
print "Your first variable is:", first 
print "Your second variable is:", second 
print "Your third variable is:", third 

first = raw_input("\nNew First Variable? ") 
second = raw_input("New Second Variable? ") 
third = raw_input("New Last Variable? ") 

print "\n\nYour new variables are %s, %s, and %s" % (first, second, third) 

这里是我得到的输出:

C:\Users\mbowyer\Documents\Python_Work>python ex13a.py 1 2 3 


The script is called: ex13a.py 

Your first variable is: 1 

Your second variable is: 2 

Your third variable is: 3 

New First Variable? a 

New Second Variable? b 

New Last Variable? c 

Your new variables are a, b, and c 

C:\Users\mbowyer\Documents\Python_Work>