python中怎么输⼊矩阵_Python矩阵输⼊单元
有许多不同的可能性。例如:
⾸先,您可以使⽤类似于GUI(或类似的cursesUI)的电⼦表格、控制台样式的⽂本输⼊,或者其他任何类型的东西。在
假设您已经决定使⽤控制台输⼊,最明显的解决⽅案可能是空格分隔列,换⾏分隔⾏。但对于您的⽤例来说,这可能不是最好的解决⽅案。在
如果⽤户可能希望将⼀次运⾏的输出复制并粘贴到下⼀次运⾏的输⼊中,那么您可能希望在打印输出时允许或要求使⽤括号和逗号。如果他们需要⼀个CSV或逗号,他们可能需要⼀个CSV或逗号。等等。在
如果矩阵必须是正⽅形的,就不需要换⾏符。另⼀⽅⾯,使⽤它们可以使输⼊看起来更漂亮,并允许您提供更好的错误处理(“第3⾏有8个值⽽不是7个”,⽽“您输⼊了50个值⽽不是49个”)。在
因为值是⼆进制的,所以也不需要空格。这也有类似的权衡。在
您还可以在键盘上使⽤⽐1和0更近的两个字符,或者视觉上更明显的字符(例如,X和{}),或者与问题空间更相关。在
python怎么读的等等。关键是,没有⼀个“最好的⽅法”;有⼏⼗个折衷要做,甚⾄创新的设计决策,将导致更多的权衡。在
⼀旦你选了⼀个,它们⼏乎都很容易实现。例如,让我们使⽤空格分隔列,换⾏分隔⾏,空⾏表⽰结束:print("Please enter your matrix as 1s and 0s, with spaces between the columns.")
print("Use one row per line, and a blank row when you're done.")
matrix = []
while True:
line = input()
if not line: break
values = line.split()
row = [int(value) for value in values]
matrix.append(row)
显然,您可以将其中的⼀些⾏合并在⼀起,或者将整个过程转换为⼀个列表理解或⽣成器,但我将其保留为这样,以便您可以添加任何您认为合适的错误处理。(您可能会注意到,如果您在某⼀⾏中输⼊了错误的列数,那么您将得到⼀个参差不齐的矩阵;如果您意外地键⼊q⽽不是{},则会引发异常;等等)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。