因此,我正在创建一个“澳大利亚”选票应用程序,并且正在寻找一种创造性的输入提示解决方案。
基本上用户输入多少人,然后最多提交 1000 票或 w/e。
假设有 3 名候选人,输入提示看起来像这样:
ballot = raw_input('1 for %s: 2 for %s: 3 for %s: ') % (cand_list[0], cand_list[1], cand_list[2])
但我真正想要的是一个动态提示(假设用户输入 5、10,w/e 候选人数)
我研究过将选票分配和打印分开,或者创建一个完全独立的选票字符串并传递它(假设我可以制作某种 stringbuilder 函数),但我很想看看其他方法。仍在修改它以查看是否需要转义 % 格式。
最佳答案
像这样使用字符串格式、str.join
和 enumerate
:
>>> candidates = ['foo', 'bar', 'spam']
>>> print ' : '.join('{} for {}'.format(i, c) for i, c in enumerate(candidates, 1))
1 for foo : 2 for bar : 3 for spam
>>> candidates = ['foo', 'bar', 'spam', 'python', 'guido']
>>> print ' : '.join('{} for {}'.format(i, c) for i, c in enumerate(candidates, 1))
1 for foo : 2 for bar : 3 for spam : 4 for python : 5 for guido
关于python - Python 中的动态连接字符串创建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19865769/