質問編集履歴

1

ptulos.txtへすべての回文を書き込みたいのですが…

2020/07/03 15:55

投稿

Chibichan
Chibichan

スコア72

test CHANGED
File without changes
test CHANGED
@@ -1,33 +1,41 @@
1
- ```tiedosto=open("pmalli.txt","r",encoding="utf-8")
1
+ ```def paaohjelma(word):
2
2
 
3
- while True:
3
+ while True:
4
4
 
5
- word=tiedosto.readline()
5
+ word=tiedosto.readline().rstrip()
6
6
 
7
- if word=="":
7
+ if word=="":
8
8
 
9
- break
9
+ break
10
10
 
11
- elif word==word[::-1]:
11
+ elif word==word[::-1]:
12
12
 
13
- print("Rivi ","'",word.strip(),"'"," on palindromi.",sep='')
13
+ file=open("ptulos.txt","w",encoding="utf-8")
14
14
 
15
- elif word!=word[::-1]:
15
+ file.write(word) #ここに入れますと一番最後に出力された回文しかでません。
16
16
 
17
- print("Rivi ","'",word.strip(),"'"," ei ole palindoromi.",sep='')
17
+ print("Rivi ","'",word.strip(),"'"," on palindromi.",sep='')
18
18
 
19
- elif word==word.isdigit():
19
+ file.close()
20
20
 
21
+ elif word.isdigit():
22
+
21
- print("Rivi ","'",word.strip(),"'"," on numerorivi.",sep='')
23
+ print("Rivi ","'",word.strip(),"'"," on numerorivi.",sep='')
24
+
25
+ else:
26
+
27
+ print("Rivi ","'",word.strip(),"'"," ei ole palindromi.",sep='')
28
+
29
+ return
30
+
31
+
32
+
33
+ tiedosto=open("pmalli.txt","r",encoding="utf-8")
34
+
35
+ paaohjelma(tiedosto)
22
36
 
23
37
  tiedosto.close()
24
38
 
25
39
 
26
40
 
27
41
  ```
28
-
29
- ファイルを開けて、ファイル内にあるワードの回文判定をしますが、答えがすべて3番目のIF文(全部回文ではない)になってしまいます。4番目は、ワードが数字のみの場合は、数列で返します。
30
-
31
- どこがまちがっていますでしょうか?
32
-
33
- どうぞよろしくお願いいたします。