用户输入然后显示特定的行数据

时间:2019-04-25 17:57:48

标签: python

ID  score  rank  Pass
512  80     5     Yes
11   12     255   No
115  44     70    Yes
345  61     177   No
 .   .       .     .
 .   .       .     .

我想让用户输入他/她自己的ID号,然后他/他可以看到他们自己的分数,等级和及格信息。 另外,请确保他们只能输入小于1000的数字。 我有1000个ID数据点。

例如,要求我输入ID,然后键入512。 它会显示我的得分80等级5通过是。 如果我输入了1344(或字符串),它将再次被询问,直到输入正确的值为止。

我是一个初学者,如果有人想给我一些建议,我将非常感激:D

2 个答案:

答案 0 :(得分:0)

您可以使用熊猫,我刚刚在数据框中创建了两列

import pandas as pd
df = pd.DataFrame({'ID': {0: 512, 1: 11, 2: 115, 3: 345},'score':{0:80,1:12,2:44,3:61}})
number = input ("Enter ID:")
if int(number)<1000:
  print(df[df['ID']==int(number)])
else:
  print('id is greater than 1000')

答案 1 :(得分:0)

您可以使用以下逻辑

data = pd.read_csv('C:/random/d1',header=None,names=['ID','Score','rank','Pass'])
df=pd.DataFrame(data)
print(df)
flag=True
while(flag):
    userIndex=int(input('Enter the ID: '))
    if(userIndex >=0 and userIndex <=1000):
        if(df[df['ID']==userIndex].empty):
            print('No records found, try again')
            continue
        else:
            print(df[df['ID']==userIndex])
            continue
    else:
        flag=False
        print('Out of range')
        break

结果

    ID  Score  rank Pass
0  512     80     5  Yes
1   11     12   255   No
2  115     44    70  Yes
3  345     61   177   No
Enter the ID: 512
    ID  Score  rank Pass
0  512     80     5  Yes
Enter the ID: 225
No records found, try again
Enter the ID: 11
   ID  Score  rank Pass
1  11     12   255   No
Enter the ID: 2500
Out of range
Press any key to continue . . .