0

私はPythonに非常に慣れていないので、2D配列にあるxの数を数えようとしていますが、list.count(x)は0を返しますが、ゼロではないことはわかっています。

すべてのコードを表示しています。このコードは次のことを行う必要があります。ファイルから名前と年齢を読み取り、最大年齢と最小年齢を取得し、同じ最大年齢と最小年齢で他のファイルにすべて印刷します。

with open("duomenys.txt") as d: 
   sar = [line.split() for line in d]
max = 0
min = 200

for index, item in enumerate(sar):
    if int(sar[index][1]) > max:
        max = int(sar[index][1])
        pozmax = index

for index, item in enumerate(sar):
    if int(sar[index][1]) < min:
        min = int(sar[index][1])
        pozmin = index

with open('vyr_jaun.txt', 'w') as d: 
    d.write (sar[pozmin][0]+' '+sar[pozmin][1]+'\n')
with open('vyr_jaun.txt', 'a') as d: 
    d.write (sar[pozmax][0]+' '+sar[pozmax][1])

これにより、ファイルに名前と年齢が1つだけ書き込まれます

私のduomneys.txtファイル:

Justas 23
Mantas 18
Rokas 33
Anzelmute 69
Ruta 11
Vilius 2
Monika 6
Petras 17
Stasys 26
Zose 13
Jurgis 2
Borisas 69
4

1 に答える 1

0

(配列内の年齢は文字列であることに注意してください。これは問題ではありません。)

what = str(9) # whatever you are searching for
count = 0
for name,age in array:
    if age == what:
        count += 1

print("there are",count,"people with the age",what)
于 2012-10-03T09:08:08.780 に答える