2013-02-15 18 views
2

對於一個項目,我需要一個程序詢問比賽名稱,在另一個問題中使用該名稱。
下面的代碼工作。
主要的問題是,我需要輸入的時間作爲一個值,並保存,所以我可以計算它,但打印在一行說time = """"",不起作用。
有關如何解決此問題的任何建議?在變量中有一個原始輸入?

def main(): 
    print "~*~*~*~*~*~ Timbuktu Archery Contest ~*~*~*~*~*~" 
    archerList = [] #list 
    name = raw_input ("Enter contestants first name: ") 
    s = str(name) 
    archerList.append(name) 
    print "Enter time (in milliseconds) for " + s , raw_input (": ") 

main() 
+0

可以準確顯示錯誤味精 – avasal 2013-02-15 07:14:18

+0

'S = STR(名稱)'是多餘的。 'name'已經是一個字符串。 – 2013-02-15 07:17:14

回答

3

我認爲你需要做的

t = raw_input ("Enter time (in milliseconds) for %s :" % s) 
+0

感謝不能相信我沒有想到!工作完美。 – user2031682 2013-02-15 07:18:08

1

對於raw_input返回一個字符串值,
所以x = raw_input()將分配什麼樣的用戶輸入x的字符串。
請參閱this的文檔raw_input
對於你的弓手,你可能想用字典來代替,因爲你可以用射手的名字來訪問「時間」。
的字典文件
here您可以使用字典是這樣的:

def main(): 
    print "~*~*~*~*~*~ Timbuktu Archery Contest ~*~*~*~*~*~" 
    archers = {} 
    while True: # get inputs till user inputs empty string. 
     name = raw_input ("Enter contestants first name: ") 
     if name == '': 
      break 
     while True: # get input till ttime can be converted to an int. 
      ttime = raw_input ("Enter time (in milliseconds) for %s :" % name) 
      try: 
       ttime = int(ttime) 
      except ValueError: # error handling 
       print 'Invalid input, Enter a number' 
      else: 
       break 
     archers[name] = ttime # assign values to the dictionary 
    return archers # return dictionary value