Es ist ein Herausforderungsrekord von 100 Sprachverarbeitungsklopfen 2015. Die Umgebung ist Ubuntu 16.04 LTS + Python 3.5.2 : : Anaconda 4.1.1 (64-Bit). Klicken Sie hier, um eine Liste der vergangenen Schläge anzuzeigen (http://qiita.com/segavvy/items/fb50ba8097d59475f760).
hightemp.txt ist eine Datei, in der die Aufzeichnung der höchsten Temperatur in Japan im tabulatorgetrennten Format "Präfektur", "Punkt", "℃" und "Tag" gespeichert wird. Erstellen Sie ein Programm, das die folgende Verarbeitung ausführt, und führen Sie hightemp.txt als Eingabedatei aus. Führen Sie außerdem denselben Prozess mit einem UNIX-Befehl aus und überprüfen Sie das Ausführungsergebnis des Programms.
Empfangen Sie die natürliche Zahl N beispielsweise über ein Befehlszeilenargument und zeigen Sie nur die ersten N Zeilen der Eingabe an. Verwenden Sie zur Bestätigung den Befehl head.
Der fertige Code:
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())
Ausführungsergebnis:
Terminal
segavvy@ubuntu:~/Dokument/100 Sprachverarbeitung klopfen 2015/14$ python main.py 
N--> 1
Präfektur Kochi Egawasaki 41 2013-08-12
segavvy@ubuntu:~/Dokument/100 Sprachverarbeitung klopfen 2015/14$ python main.py 
N--> 2
Präfektur Kochi Egawasaki 41 2013-08-12
40 Kumagai, Präfektur Saitama.9	2007-08-16
segavvy@ubuntu:~/Dokument/100 Sprachverarbeitung klopfen 2015/14$ python main.py 
N--> 23
Präfektur Kochi Egawasaki 41 2013-08-12
40 Kumagai, Präfektur Saitama.9	2007-08-16
Präfektur Gifu Tajimi 40.9	2007-08-16
Yamagata 40 Yamagata.8	1933-07-25
Präfektur Yamanashi Kofu 40.7	2013-08-10
Präfektur Wakayama Katsuragi 40.6	1994-08-08
Präfektur Shizuoka Tenryu 40.6	1994-08-04
40 Katsunuma, Präfektur Yamanashi.5	2013-08-10
40 Koshiya, Präfektur Saitama.4	2007-08-16
Präfektur Gunma Tatebayashi 40.3	2007-08-16
Präfektur Gunma Kamisatomi 40.3	1998-07-04
Ainishi 40, Präfektur Aichi.3	1994-08-05
Präfektur Chiba Ushihisa 40.2	2004-07-20
Präfektur Shizuoka Sakuma 40.2	2001-07-24
40 Uwajima, Präfektur Ehime.2	1927-07-22
40 Sakata, Präfektur Yamagata.1	1978-08-03
Mino 40, Präfektur Gifu 2007-08-16
Präfektur Gunma Maebashi 40 2001-07-24
39 Shigehara, Chiba.9	2013-08-11
39 Hatoyama, Präfektur Saitama.9	1997-07-05
Toyonaka 39, Osaka.9	1994-08-08
Otsuki, Yamanashi 39.9	1990-07-19
39 Tsuruoka, Präfektur Yamagata.9	1978-08-03
segavvy@ubuntu:~/Dokument/100 Sprachverarbeitung klopfen 2015/14$ python main.py 
N--> 24
Präfektur Kochi Egawasaki 41 2013-08-12
40 Kumagai, Präfektur Saitama.9	2007-08-16
Präfektur Gifu Tajimi 40.9	2007-08-16
Yamagata 40 Yamagata.8	1933-07-25
Präfektur Yamanashi Kofu 40.7	2013-08-10
Präfektur Wakayama Katsuragi 40.6	1994-08-08
Präfektur Shizuoka Tenryu 40.6	1994-08-04
40 Katsunuma, Präfektur Yamanashi.5	2013-08-10
40 Koshiya, Präfektur Saitama.4	2007-08-16
Präfektur Gunma Tatebayashi 40.3	2007-08-16
Präfektur Gunma Kamisatomi 40.3	1998-07-04
Ainishi 40, Präfektur Aichi.3	1994-08-05
Präfektur Chiba Ushihisa 40.2	2004-07-20
Präfektur Shizuoka Sakuma 40.2	2001-07-24
40 Uwajima, Präfektur Ehime.2	1927-07-22
40 Sakata, Präfektur Yamagata.1	1978-08-03
Mino 40, Präfektur Gifu 2007-08-16
Präfektur Gunma Maebashi 40 2001-07-24
39 Shigehara, Chiba.9	2013-08-11
39 Hatoyama, Präfektur Saitama.9	1997-07-05
Toyonaka 39, Osaka.9	1994-08-08
Otsuki, Yamanashi 39.9	1990-07-19
39 Tsuruoka, Präfektur Yamagata.9	1978-08-03
Präfektur Aichi Nagoya 39.9	1942-08-02
Der UNIX-Befehl wurde vom Shell-Skript bestätigt.
test.sh
#!/bin/sh
#Geben Sie N ein
echo -n "N--> "
read n
#Ausgeschnitten
head --lines=$n hightemp.txt
Ausführungsergebnis:
Terminal
segavvy@ubuntu:~/Dokument/100 Sprachverarbeitung klopfen 2015/14$ ./test.sh
N--> 1
Präfektur Kochi Egawasaki 41 2013-08-12
segavvy@ubuntu:~/Dokument/100 Sprachverarbeitung klopfen 2015/14$ ./test.sh
N--> 2
Präfektur Kochi Egawasaki 41 2013-08-12
40 Kumagai, Präfektur Saitama.9	2007-08-16
segavvy@ubuntu:~/Dokument/100 Sprachverarbeitung klopfen 2015/14$ ./test.sh
N--> 23
Präfektur Kochi Egawasaki 41 2013-08-12
40 Kumagai, Präfektur Saitama.9	2007-08-16
Präfektur Gifu Tajimi 40.9	2007-08-16
Yamagata 40 Yamagata.8	1933-07-25
Präfektur Yamanashi Kofu 40.7	2013-08-10
Präfektur Wakayama Katsuragi 40.6	1994-08-08
Präfektur Shizuoka Tenryu 40.6	1994-08-04
40 Katsunuma, Präfektur Yamanashi.5	2013-08-10
40 Koshiya, Präfektur Saitama.4	2007-08-16
Präfektur Gunma Tatebayashi 40.3	2007-08-16
Präfektur Gunma Kamisatomi 40.3	1998-07-04
Ainishi 40, Präfektur Aichi.3	1994-08-05
Präfektur Chiba Ushihisa 40.2	2004-07-20
Präfektur Shizuoka Sakuma 40.2	2001-07-24
40 Uwajima, Präfektur Ehime.2	1927-07-22
40 Sakata, Präfektur Yamagata.1	1978-08-03
Mino 40, Präfektur Gifu 2007-08-16
Präfektur Gunma Maebashi 40 2001-07-24
39 Shigehara, Chiba.9	2013-08-11
39 Hatoyama, Präfektur Saitama.9	1997-07-05
Toyonaka 39, Osaka.9	1994-08-08
Otsuki, Yamanashi 39.9	1990-07-19
39 Tsuruoka, Präfektur Yamagata.9	1978-08-03
segavvy@ubuntu:~/Dokument/100 Sprachverarbeitung klopfen 2015/14$ ./test.sh
N--> 24
Präfektur Kochi Egawasaki 41 2013-08-12
40 Kumagai, Präfektur Saitama.9	2007-08-16
Präfektur Gifu Tajimi 40.9	2007-08-16
Yamagata 40 Yamagata.8	1933-07-25
Präfektur Yamanashi Kofu 40.7	2013-08-10
Präfektur Wakayama Katsuragi 40.6	1994-08-08
Präfektur Shizuoka Tenryu 40.6	1994-08-04
40 Katsunuma, Präfektur Yamanashi.5	2013-08-10
40 Koshiya, Präfektur Saitama.4	2007-08-16
Präfektur Gunma Tatebayashi 40.3	2007-08-16
Präfektur Gunma Kamisatomi 40.3	1998-07-04
Ainishi 40, Präfektur Aichi.3	1994-08-05
Präfektur Chiba Ushihisa 40.2	2004-07-20
Präfektur Shizuoka Sakuma 40.2	2001-07-24
40 Uwajima, Präfektur Ehime.2	1927-07-22
40 Sakata, Präfektur Yamagata.1	1978-08-03
Mino 40, Präfektur Gifu 2007-08-16
Präfektur Gunma Maebashi 40 2001-07-24
39 Shigehara, Chiba.9	2013-08-11
39 Hatoyama, Präfektur Saitama.9	1997-07-05
Toyonaka 39, Osaka.9	1994-08-08
Otsuki, Yamanashi 39.9	1990-07-19
39 Tsuruoka, Präfektur Yamagata.9	1978-08-03
Präfektur Aichi Nagoya 39.9	1942-08-02
Das Ergebnis war das gleiche. Das ist alles für den 15. Schlag. Wenn Sie Fehler haben, würde ich mich freuen, wenn Sie darauf hinweisen könnten.
Recommended Posts