Python:列表转换为元组后如何拆分出独立元素?
问题解决:将输入的坐标字符串拆分为元组的独立元素
你当前的问题出在直接将完整的输入字符串添加到列表中,没有对输入的坐标进行拆分。比如输入0,1 0,2时,程序把它当成单个字符串存入列表,转成元组后自然只有一个元素。
修改方案
在获取用户输入后,用split()方法按空格拆分字符串,再将拆分后的每个坐标元素添加到列表中,这样转成元组时就能得到预期的多个独立元素。
修改后的关键代码片段
Player1 提交部分
elif event == 'Submit': x = values['input_\\P1o'] # 按空格拆分输入的坐标字符串 p1_positions = x.split() # 用extend将每个坐标元素添加到列表,而非append整个字符串 P1o.extend(p1_positions) window.close()
Player2 提交部分
if event == 'Submit': y = values['input_\\P2o'] # 按空格拆分输入的坐标字符串 p2_positions = y.split() P2o.extend(p2_positions) window.close() turn() # 注意:你代码中的turn_()未定义,需自行补充或删除该调用
效果验证
当输入0,1 0,2时,split()会返回['0,1', '0,2'],通过extend添加到列表后,转成元组就是('0,1', '0,2'),符合你的需求。
内容的提问来源于stack exchange,提问作者Thunder061005
相关产品推荐
相关产品推荐

