变量中有原始输入吗?

2 投票
2 回答
3355 浏览
提问于 2025-04-17 15:58

我有一个项目,需要让程序询问一个比赛的名字,然后在另一个问题中使用这个名字。
下面的代码可以正常运行。
主要的问题是,我需要把输入的时间作为一个值保存下来,以便后面可以计算,但如果我直接在一行中打印 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 个回答

1

因为 raw_input 返回的是一个字符串,
所以 x = 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
3

我觉得你需要这样做:

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

撰写回答