Python3从文本文件中查找和打印整数

2024-10-02 14:17:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我的文本文件如下所示:

1,jack,Jackson,16,won

2,Dex,Craz,17,loss

3,Bree,Lopson,20,

4,her,ber,12,loss

5,say,huy,34,

6,lol,asw,23,won

7,dert,ker,30,loss

8,far,sas,11,

9,ger,xza,15,

10,yui,caer,66,won

11,opl,guyh,45,

我要做的是让用户输入一个他们想看到的数字,然后打印出与这个数字对应的信息。你知道吗

这是我的密码:

numb = input('Input Line: ')
fiIn = open('Prac.txt').readlines()
for lines in fiIn:
   if numb == lines[0]:
      data = lines.split(',')
      print ('|{0[0]:<15}|{0[1]:<15}|{0[2]:<15}|{0[3]:<15}|{0[4]:<15}'.format(data))

但它不仅打印我想要的号码,还打印其他号码。 例如:如果我输入1,它将输出1、10和11,而不仅仅是1。 你知道怎么做吗?你知道吗


Tags: data数字号码linesdexjack文本文件loss
2条回答

错误在比较行if numb == lines[0]:中,您正在检查输入字符串与行的第一个字符,因此它匹配以1开头的所有行,您需要做的是在,上拆分行,然后比较第一个元素:

numb = input('Input Line: ')
fiIn = open('Prac.txt').readlines()
for lines in fiIn:
   if numb == lines.split(",")[0]:
      data = lines.split(',')
      print ('|{0[0]:<15}|{0[1]:<15}|{0[2]:<15}|{0[3]:<15}|{0[4]:<15}'.format(data))

首先split()lines,然后检查第一项是否是您的号码。你知道吗

for lines in fiIn:
   data = lines.split(',')
   if numb == data[0]:
       print ('|{0[0]:<15}|{0[1]:<15}|{0[2]:<15}|{0[3]:<15}|{0[4]:<15}'.format(data))

相关问题 更多 >

    热门问题