2
我想通过编程一个游戏(基于文本)来学习Python和SQLite。我想插入数据到SQLite数据库。我创建了玩家使用SQL多行输入的随机输入创建列表
c.execute('''CREATE TABLE player(ID_Player INTEGER PRIMARY KEY, Age INT, Name VARCHAR, Position VARCHAR, Skill INT, Value INT)''')
一个TABEL现在我想插入n个条目此表。对于每一列,我想应用一个函数来确定应该输入的内容。
- 年龄:randint(18,33))
- 的名称:names.get_full_name(性别= '男')
- 的位置:random.choice(位置)
- 的技能: randint(50,100)
- 的价值:randint(500000,5000000)
如果我手动创建列表,它看起来像这样
multi_lines =[ (25,'Playern Name1','TW',95,45000000),
(26,'Playern Name2','ST',75,3500000),
(32,'Playern Name3','IV',85,25000000),]
比我能执行他们,他们被插入到我的数据库与功能c.executemany('INSERT INTO player(age, name, position, skill, value) VALUES (?,?,?,?,?)', multi_lines)
我试图确定输入奥姆c.executemany
但这并没有工作。
c.executemany('INSERT INTO player(Age, Name, Position, Skill, Value) VALUES (?,?,?,?,?)',\
(randint(18,33),names.get_full_name(gender='male'),random.choice(positions),randint(50,100), randint(500000,50000000)))
接下来,我试图让许多目录,把它们放到一个空列表:
lst = []
positions = ['TW', 'IV', 'MF', 'ST']
for i in range(2):
lst.append(randint(18,33))
lst.append(names.get_full_name(gender='male'))
lst.append(random.choice(positions))
lst.append(randint(50,100))
lst.append(randint(500000,5000000))
print lst
的这个输出是[19, u'Ricardo Moore', 'ST', 68, 3298618, 26, u'Carl Cole', 'ST', 92, 3380302]
,但是,我想创建像multi_lines
输出。什么可能是这样做的逻辑方法?或者更具体地说,我如何创建一个列表在另一个列表中?
main_list = [
(list_1),
(list_2),
(list_n)
]
谢谢!有效!我几乎在那里只是无法弄清楚在哪里发表声明。 – Sogomon