teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

別解の追加

2021/02/21 10:12

投稿

ppaul
ppaul

スコア24672

answer CHANGED
@@ -20,4 +20,33 @@
20
20
  西暦2022年は令和04年
21
21
  西暦2023年は令和05年
22
22
  西暦2024年は令和06年
23
+ ```
24
+
25
+ プログラムの書き方の練習ということであれば、
26
+ まず、
27
+ for seireki in range(seireki,nennsuu+1975):
28
+ は止めた方が良いでしょう。
29
+ 右のseirekiと左のseirekiの意味が違うので、後で見たとき混乱しやすくなります。
30
+ また、nennsuu+1975ということは、seirekiが2000年でnennsuuが10年のときには何も出力されなくなりますので、意図とは違うのではないでしょうか。
31
+
32
+ 以上の部分を修正した上で、フォーマット付文字列を使って短く書くようにすると以下のようになります。
33
+
34
+ ```python
35
+ >>> start = int(input('最初の年を指定してください: '))
36
+ 最初の年を指定してください: 1975
37
+ >>> nennsuu = int(input('何年分かを指定してください: '))
38
+ 何年分かを指定してください: 10
39
+ >>> for seireki in range(start, start + nennsuu):
40
+ ... print(f"西暦{seireki}年は昭和{seireki - 1925}年です")
41
+ ...
42
+ 西暦1975年は昭和50年です
43
+ 西暦1976年は昭和51年です
44
+ 西暦1977年は昭和52年です
45
+ 西暦1978年は昭和53年です
46
+ 西暦1979年は昭和54年です
47
+ 西暦1980年は昭和55年です
48
+ 西暦1981年は昭和56年です
49
+ 西暦1982年は昭和57年です
50
+ 西暦1983年は昭和58年です
51
+ 西暦1984年は昭和59年です
23
52
  ```