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()
4

2 回答 2

3

我认为你需要做

t  = raw_input ("Enter time (in milliseconds) for %s :" % s)
于 2013-02-15T07:16:32.493 回答
1

Forraw_input返回一个字符串值,
Sox = raw_input()会将用户输入的字符串分配给x.
有关. _ _ 对于您的弓箭手列表,您可能需要使用字典,因为这样您就可以使用弓箭手的名字访问“时间”。有关字典文档, 请参见此处 您可以使用这样的字典:raw_input


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
于 2013-02-15T07:26:22.863 回答