python - 列表输入的 Python 验证正在跳过无效索引?
问题描述
我正在尝试构建一个代码,该代码创建一个包含 9 个列表的列表,每个列表还包含 9 个元素。我创建了一个转换器来验证每个条目的大小,然后将它们拆分为其单独的各个元素。它正确地注意到不完整的长度,并在输出之前需要正确数量的有效输入,但由于某种原因,第一次读取无效的每个索引都不会返回新的有效输入。下面是代码。
只是我忽略了一些简单的语法还是我的代码不够?
print('Please enter your line with no spaces or commas')
board_list = [[], [], [], [], [], [], [], [], []]
def convert(line):
li = [int(x) for x in str(line)]
if len(li) == 9:
return li
else:
print("Your line was not valid, please try again.")
convert(input())
def create_board(bo):
for row in range(len(bo)):
print('Please enter the line below:')
board_list[row] = convert(input())
create_board(board_list)
print(board_list)
'''
解决方案
在方法中添加return
inelse
语句convert()
def convert(line):
li = [int(x) for x in str(line)]
if len(li) == 9:
return li
else:
print("Your line was not valid, please try again.")
return convert(input())
推荐阅读
- bash - 在 Bash 中,每一段 "${BASH_SOURCE:-${(%):-%x}}" 是什么意思
- python - 如何递归地应用这个函数
- c - 除非先实例化整数,否则 while 循环内的 printf() 不会打印
- javascript - 如何使用 JavaScript 为 discord bot 从这个数组中选择一个随机值?
- html - 如何在输入类型=“文本”的移动设备上强制使用数字键盘
- java - 如何在约束布局中以编程方式移动视图(按钮)?
- ios - 自定义保护语句中的 UITableViewCell 文本
- mips - .data 部分 MIPS 中缺少数组
- python - 如何从字典中创建每个键的排列?
- r - R dcast 和日期