[PYTHON] 100 coups de traitement du langage amateur: 14

C'est un record de défi de 100 langues de traitement knock 2015. L'environnement est Ubuntu 16.04 LTS + Python 3.5.2 : : Anaconda 4.1.1 (64 bits). Cliquez ici pour une liste des coups passés (http://qiita.com/segavvy/items/fb50ba8097d59475f760).

Chapitre 2: Principes de base des commandes UNIX

hightemp.txt est un fichier qui stocke l'enregistrement de la température la plus élevée au Japon dans le format délimité par des tabulations de «préfecture», «point», «℃» et «jour». Créez un programme qui effectue le traitement suivant et exécutez hightemp.txt en tant que fichier d'entrée. De plus, exécutez le même processus avec une commande UNIX et vérifiez le résultat de l'exécution du programme.

14. Sortie de N lignes depuis le début

Recevoir le nombre naturel N au moyen d'un argument de ligne de commande et n'afficher que les N premières lignes de l'entrée. Utilisez la commande head pour confirmation.

Le code fini:

main.py


# coding: utf-8

fname = 'hightemp.txt'
n = int(input('N--> '))

with open(fname) as data_file:
	for i, line in enumerate(data_file):
		if i >= n:
			break
		print(line.rstrip())

Résultat de l'exécution:

Terminal


segavvy@ubuntu:~/document/100 traitement du langage Knock 2015/14$ python main.py 
N--> 1
Préfecture de Kochi Egawasaki 41 2013-08-12
segavvy@ubuntu:~/document/100 traitement du langage Knock 2015/14$ python main.py 
N--> 2
Préfecture de Kochi Egawasaki 41 2013-08-12
40 Kumagai, Préfecture de Saitama.9	2007-08-16
segavvy@ubuntu:~/document/100 traitement du langage Knock 2015/14$ python main.py 
N--> 23
Préfecture de Kochi Egawasaki 41 2013-08-12
40 Kumagai, Préfecture de Saitama.9	2007-08-16
40 Tajimi, Préfecture de Gifu.9	2007-08-16
Yamagata 40 Yamagata.8	1933-07-25
Préfecture de Yamanashi Kofu 40.7	2013-08-10
Préfecture de Wakayama Katsuragi 40.6	1994-08-08
Préfecture de Shizuoka Tenryu 40.6	1994-08-04
40 Katsunuma, préfecture de Yamanashi.5	2013-08-10
40 Koshiya, Préfecture de Saitama.4	2007-08-16
Préfecture de Gunma Tatebayashi 40.3	2007-08-16
Préfecture de Gunma Kamisatomi 40.3	1998-07-04
Ainishi 40, Préfecture d'Aichi.3	1994-08-05
Préfecture de Chiba Ushihisa 40.2	2004-07-20
Préfecture de Shizuoka Sakuma 40.2	2001-07-24
40 Uwajima, Préfecture d'Ehime.2	1927-07-22
40 Sakata, préfecture de Yamagata.1	1978-08-03
Mino 40, préfecture de Gifu 2007-08-16
Préfecture de Gunma Maebashi 40 2001-07-24
39 Shigehara, Chiba.9	2013-08-11
39 Hatoyama, Préfecture de Saitama.9	1997-07-05
Toyonaka 39, Osaka.9	1994-08-08
Otsuki, Yamanashi 39.9	1990-07-19
39 Tsuruoka, Préfecture de Yamagata.9	1978-08-03
segavvy@ubuntu:~/document/100 traitement du langage Knock 2015/14$ python main.py 
N--> 24
Préfecture de Kochi Egawasaki 41 2013-08-12
40 Kumagai, Préfecture de Saitama.9	2007-08-16
Préfecture de Gifu Tajimi 40.9	2007-08-16
Yamagata 40 Yamagata.8	1933-07-25
Préfecture de Yamanashi Kofu 40.7	2013-08-10
Préfecture de Wakayama Katsuragi 40.6	1994-08-08
Préfecture de Shizuoka Tenryu 40.6	1994-08-04
40 Katsunuma, préfecture de Yamanashi.5	2013-08-10
40 Koshiya, Préfecture de Saitama.4	2007-08-16
Préfecture de Gunma Tatebayashi 40.3	2007-08-16
Préfecture de Gunma Kamisatomi 40.3	1998-07-04
Ainishi 40, Préfecture d'Aichi.3	1994-08-05
Préfecture de Chiba Ushihisa 40.2	2004-07-20
Préfecture de Shizuoka Sakuma 40.2	2001-07-24
40 Uwajima, Préfecture d'Ehime.2	1927-07-22
40 Sakata, préfecture de Yamagata.1	1978-08-03
Mino 40, préfecture de Gifu 2007-08-16
Préfecture de Gunma Maebashi 40 2001-07-24
39 Shigehara, Chiba.9	2013-08-11
39 Hatoyama, Préfecture de Saitama.9	1997-07-05
Toyonaka 39, Osaka.9	1994-08-08
Otsuki, Yamanashi 39.9	1990-07-19
39 Tsuruoka, Préfecture de Yamagata.9	1978-08-03
Préfecture d'Aichi Nagoya 39.9	1942-08-02

La commande UNIX a été confirmée par le script shell.

test.sh


#!/bin/sh

#Entrez N
echo -n "N--> "
read n

#Coupé
head --lines=$n hightemp.txt

Résultat de l'exécution:

Terminal


segavvy@ubuntu:~/document/100 traitement du langage Knock 2015/14$ ./test.sh
N--> 1
Préfecture de Kochi Egawasaki 41 2013-08-12
segavvy@ubuntu:~/document/100 traitement du langage Knock 2015/14$ ./test.sh
N--> 2
Préfecture de Kochi Egawasaki 41 2013-08-12
40 Kumagai, Préfecture de Saitama.9	2007-08-16
segavvy@ubuntu:~/document/100 traitement du langage Knock 2015/14$ ./test.sh
N--> 23
Préfecture de Kochi Egawasaki 41 2013-08-12
40 Kumagai, Préfecture de Saitama.9	2007-08-16
40 Tajimi, Préfecture de Gifu.9	2007-08-16
Yamagata 40 Yamagata.8	1933-07-25
Préfecture de Yamanashi Kofu 40.7	2013-08-10
Préfecture de Wakayama Katsuragi 40.6	1994-08-08
Préfecture de Shizuoka Tenryu 40.6	1994-08-04
40 Katsunuma, préfecture de Yamanashi.5	2013-08-10
40 Koshiya, Préfecture de Saitama.4	2007-08-16
Préfecture de Gunma Tatebayashi 40.3	2007-08-16
Préfecture de Gunma Kamisatomi 40.3	1998-07-04
Ainishi 40, Préfecture d'Aichi.3	1994-08-05
Préfecture de Chiba Ushihisa 40.2	2004-07-20
Préfecture de Shizuoka Sakuma 40.2	2001-07-24
40 Uwajima, Préfecture d'Ehime.2	1927-07-22
40 Sakata, Préfecture de Yamagata.1	1978-08-03
Mino 40, préfecture de Gifu 2007-08-16
Préfecture de Gunma Maebashi 40 2001-07-24
39 Shigehara, Chiba.9	2013-08-11
39 Hatoyama, Préfecture de Saitama.9	1997-07-05
Toyonaka 39, Osaka.9	1994-08-08
Otsuki, Yamanashi 39.9	1990-07-19
39 Tsuruoka, Préfecture de Yamagata.9	1978-08-03
segavvy@ubuntu:~/document/100 traitement du langage Knock 2015/14$ ./test.sh
N--> 24
Préfecture de Kochi Egawasaki 41 2013-08-12
40 Kumagai, Préfecture de Saitama.9	2007-08-16
40 Tajimi, Préfecture de Gifu.9	2007-08-16
Yamagata 40 Yamagata.8	1933-07-25
Préfecture de Yamanashi Kofu 40.7	2013-08-10
Préfecture de Wakayama Katsuragi 40.6	1994-08-08
Préfecture de Shizuoka Tenryu 40.6	1994-08-04
40 Katsunuma, préfecture de Yamanashi.5	2013-08-10
40 Koshiya, Préfecture de Saitama.4	2007-08-16
Préfecture de Gunma Tatebayashi 40.3	2007-08-16
Préfecture de Gunma Kamisatomi 40.3	1998-07-04
Ainishi 40, Préfecture d'Aichi.3	1994-08-05
Préfecture de Chiba Ushihisa 40.2	2004-07-20
Préfecture de Shizuoka Sakuma 40.2	2001-07-24
40 Uwajima, Préfecture d'Ehime.2	1927-07-22
40 Sakata, préfecture de Yamagata.1	1978-08-03
Mino 40, préfecture de Gifu 2007-08-16
Préfecture de Gunma Maebashi 40 2001-07-24
39 Shigehara, Chiba.9	2013-08-11
39 Hatoyama, Préfecture de Saitama.9	1997-07-05
Toyonaka 39, Osaka.9	1994-08-08
Otsuki, Yamanashi 39.9	1990-07-19
39 Tsuruoka, Préfecture de Yamagata.9	1978-08-03
Préfecture d'Aichi Nagoya 39.9	1942-08-02

Le résultat était le même.   C'est tout pour le 15e coup. Si vous avez des erreurs, je vous serais reconnaissant de bien vouloir les signaler.

Recommended Posts

100 coups de traitement du langage amateur: 41
100 coups de traitement du langage amateur: 71
100 coups de traitement du langage amateur: 24
100 coups de traitement du langage amateur: 50
100 coups de traitement du langage amateur: 70
100 coups de traitement du langage amateur: 62
100 coups de traitement du langage amateur: 60
100 coups de traitement du langage amateur: 92
100 coups de langue amateur: 30
100 coups de langue amateur: 06
100 coups de traitement du langage amateur: 84
100 coups de traitement du langage amateur: 81
100 coups de langue amateur: 33
100 coups de traitement du langage amateur: 46
100 coups de traitement du langage amateur: 88
100 coups de traitement du langage amateur: 89
100 coups de traitement du langage amateur: 40
100 coups de traitement du langage amateur: 45
100 coups de traitement du langage amateur: 43
100 coups de traitement du langage amateur: 55
100 coups de traitement du langage amateur: 22
100 coups de traitement du langage amateur: 61
100 coups de traitement du langage amateur: 94
100 coups de traitement du langage amateur: 54
100 coups de langue amateur: 04
100 coups de traitement du langage amateur: 63
100 coups de traitement du langage amateur: 78
100 coups de traitement du langage amateur: 14
100 coups de langue amateur: 08
100 coups de traitement du langage amateur: 42
100 coups de traitement du langage amateur: 19
100 coups de traitement du langage amateur: 73
100 coups de traitement du langage amateur: 75
100 coups de traitement du langage amateur: 98
100 coups de traitement du langage amateur: 83
100 coups de traitement du langage amateur: 95
100 coups de traitement du langage amateur: 32
100 coups de traitement du langage amateur: 96
100 coups de traitement du langage amateur: 87
100 coups de traitement du langage amateur: 72
100 coups de traitement du langage amateur: 79
100 coups de traitement du langage amateur: 23
100 coups de langue amateur: 05
100 coups de langue amateur: 00
100 coups de langue amateur: 02
100 coups de traitement du langage amateur: 37
100 coups de traitement du langage amateur: 21
100 coups de traitement du langage amateur: 68
100 coups de traitement du langage amateur: 11
100 coups de traitement du langage amateur: 90
100 coups de traitement du langage amateur: 74
100 coups de traitement du langage amateur: 66
100 coups de traitement du langage amateur: 28
100 coups de traitement du langage amateur: 64
100 coups de traitement du langage amateur: 34
100 coups de traitement du langage amateur: 36
100 coups de traitement du langage amateur: 77
100 coups de langue amateur: 01
100 coups de traitement du langage amateur: 16
100 coups de traitement du langage amateur: 27
100 coups de traitement du langage amateur: 10