2

これは私のコードです

#!/usr/bin/python
# -*- coding: utf-8 -*-

import sys
import re

#read information

f = open ("/home/ibrahim/Desktop/Test.list")

text = f.read()

#show existing companys

for line in open('/home/ibrahim/Desktop/Test.list'):
    company, founding_year, number_of_employee = line.split(',')
    print "Company: %s" % company

#User chooses a company he wants to know more about

CompanyIndex = raw_input('\n<Choose a company you want to know more about.>\n\n<Insert a companyspecific-number and press "Enter" .>\n')

#Companyspecific information is getting revealed

if CompanyIndex == '1':
        print #company1,founding_year1,number_of_employee2
elif CompanyIndex == '2':
        print #company2,founding_year2,number_of_employee2
elif CompanyIndex == '3':
        print #company3,founding_year3,number_of_employee3
else:
        print 'Your input is not correct..'

私の目的は、このプログラムのユーザーが、詳細を知りたい特定の会社を選択できるようにすることです。たとえば、この会社が始まった年と従業員数などです。例: 会社名 = シェフ、会社が始まった年 = 1965 年、従業員数employees = 10 会社名以外は印刷したくありません。将来の情報には、創業年と従業員数以外の情報も含まれるためです ;) あまりにも多くの情報を見るとかなり混乱するでしょう ^^ さて私の問題は、会社について受け取った情報を保存する方法と、このブロックにそれらを印刷する方法がわからないことです。

if CompanyIndex == '1':
        print #company1,founding_year1,number_of_employee2
elif CompanyIndex == '2':
        print #company2,founding_year2,number_of_employee2
elif CompanyIndex == '3':
        print #company3,founding_year3,number_of_employee3
else:
        print 'Your input is not correct..'
4

3 に答える 3

0

リストまたは辞書を使用できます

comapnay_data = [dict(zip(('company', 'founding_year', 'number_of_employee'), line.split(','))) for line in open()]

これにより、インデックスが0になります。

または

company_data = {no: dict(zip(('company', 'founding_year', 'number_of_employee'), line.split(','))) for no, line in enumerate(open(), start=1)}

于 2013-09-09T09:32:02.080 に答える