在变量中有原始输入?

时间:2013-02-15 07:12:28

标签: python string debugging raw-input

对于一个项目,我需要有一个程序询问一个比赛名称,在另一个问题中使用该名称 以下守则有效 主要问题是我需要将输入的时间作为值保存并保存,以便稍后进行计算,但打印成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()

2 个答案:

答案 0 :(得分:3)

我认为你需要做

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

答案 1 :(得分:1)

对于raw_input,返回一个字符串值,
因此x = raw_input()会将用户输入内容的字符串分配给x 有关raw_input的文档,请参阅this 对于您的弓箭手列表,您可能希望使用字典,然后您可以使用射手的名称访问“时间”。
有关字典文档,请参阅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