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