質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

1259閲覧

pythonで爆弾が五秒後に爆発するプログラムのコードの書き方に疑問がある。

nisitai

総合スコア1

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2021/12/03 12:13

前提・実現したいこと

python
課題0603  ex0603_answer.exe と同じ動作をするpython プログラムを作成して下さい。

正しく動作するように解答欄にプログラムを追記してください。

正しく動作したプログラムが書かれた ex0603.pyを提出してください。

正しい動作とは?

o----* の各要素は爆弾o,導火線-,火花* を表しています。

1秒毎に導火線が燃えて短くなります。

5秒後に火花が爆弾に到達し、爆発します。、

爆弾が爆発するとき、爆発音が鳴り、なおかつ爆発の跡@を残します。

爆発音はベル \a で表します。文字を消すにはバックスペース \b を利用します。

なお、このコメントの上にあるプロシージャを利用して下さい。

print関数のflush=True はバックスペース(削除)の影響を画面にすぐ反映させるオプションです。

print関数のend="" は改行なしを指定するオプションです。

time.sleep(1) は1秒停止する命令です。

の答えが↓これなのですが、

p('o----')
ts1()
p('\b\b
\b')
ts1()
p('\b\b* \b')
ts1()
p('\b\b* \b')
ts1()
p('\b\b* \b')
ts1()
p('\b\b@ \a')

僕は、p('\b\b* \b')ではなくp('\b\b*')として、二文字消して*をつけるのが正しいと思ったのですが、#が一秒ごとに増えてしまいました。なぜ、そのような結果になるのか教えてほしいです。

発生している問題・エラーメッセージ

p('\b\b*')とすると↓このようになってしまう。

一秒目o----*
二秒目o---**
三秒目o--***
四秒目o-****
五秒目o*****

エラーメッセージ

該当のソースコード

p('o----')
ts1()
p('\b\b
')
ts1()
p('\b\b*')
ts1()
p('\b\b*')
ts1()
p('\b\b*')
ts1()
p('\b\b@\a')

ソースコード

試したこと

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ikadzuchi

2021/12/04 06:53

質問文が不要にmarkdownで修飾されており、だいぶ読みづらいです。 質問の際には表示を確認してきちんと読めるように質問文を編集してください。
nisitai

2021/12/05 05:28

次からはわかりやすい質問ができるよう心がけます。
guest

回答1

0

ベストアンサー

バックスペース文字の動作がポイントですね。
バックスペース文字は、バックスペースキーを押した時と同様の「カーソルを1文字バックしてその位置の文字を消す」動作をする場合もありますが、特に今回のようなコンソール上にプログラムから出力する場合、「カーソルを1文字バックするのみ(文字は消さない)」という動作をします。
このため、スペース文字を出力して既存の文字を上書きしてやる必要があります。(そしてそのスペースで前進した分またバックスペースでカーソルを戻す)

投稿2021/12/04 06:46

ikadzuchi

総合スコア3047

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

nisitai

2021/12/05 05:28

わかりやすい説明ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問