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

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

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

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

Q&A

2回答

1092閲覧

pythonの配列で文字を入力

kokutou203122

総合スコア1

Python

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

0グッド

0クリップ

投稿2021/05/27 06:21

編集2021/05/27 06:47

前提・実現したいこと

初めての質問です。

テンプレートに従いますが至らない点があるとぜひ問題を指示してください。
現在pythonを使用し人狼もどきゲームを開発をしています。
現在参加者の名前を入力する欄を作成しています。

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

while文を使用しendが入力されたら配列の名前入力を終了し それまでの間は名前を入力し続けるようにしたいのですがwhileの終了条件が数字しかできず うまくいきません

該当のソースコード

pyhton

1while name == end: 2 name = input("") 3 break

試したこと

whileで変数A終了条件ENDにして
inputを使用しましたがうまくいきませんでした

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

ここにより詳細な情報を記載してください。
anaconda jupyter Notebook pyhson3を使用しています

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

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

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

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

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

ppaul

2021/05/27 06:24

改行で入力終了ではだめなのですか。
kokutou203122

2021/05/27 06:29

改行での入力終了だといくつも名前を入力するときに不憫と思い辞めました。
udon-ken

2021/05/27 06:31

> テンプレートに従いますが うまくいかなかったソースコードを提示して下さい。
udon-ken

2021/05/27 07:00

コード確認しました。 whileとbreakと変数を勉強しなおした方がよさそうです。 これ・・・事前にnameやendは定義されているのでしょうか? あと、質問文中で気になっていましたが、endとENDと両方の書き方をしていますが、プログラミングではこういうのは全く別物として扱われる事がほとんどですので、雑に書かないようにしましょう。 また、endやENDが変数であればこのままでいいですが、文字列という事であれば、'end'、"END"のように明らかに文字列と分かるように書きましょう。 そうしないと当然エラーになりますし、他の人が見た時に理解できません。
kokutou203122

2021/05/27 07:05

whileとbreak勉強しなおしてきます 多くの問題点の指摘ありがとうございます。 また1からやり直してみます
udon-ken

2021/05/27 07:11

> 改行での入力終了だといくつも名前を入力するときに不憫と思い辞めました。 これの意味もちょっと不明です。 ppaulさんの > 改行で入力終了ではだめなのですか。 は、 「文字列 + 改行」の場合は入力続行で「改行のみ」入力された場合は入力終了ではだめなのですか? という質問です。 つまり、「終了させるのに「'END' + 改行」を入力させるのはいいアイディアと思えない」という事です。 良くない理由 ・'END'や'end'、'End'さらに全角入力される場合があり処理が面倒 ・'END'(やそれに類した)名前が使えなくなる ・そもそも、入力を終了させるだけなのに文字を打たせるのは不親切 みたいな事があり、改行のみ入力で終了が良いのでは?という事です。
kokutou203122

2021/05/27 07:16

確かにそれもそうですね... 改行での入力終了で作ってみます
udon-ken

2021/05/27 07:17

一応、こういう時の常套手段は、 while True: として、無限ループにします。 その上で、例えば name = input() などとして、nameが特定の文字列ならbreakで強制終了。 別に終了条件は何でもいいですし、複数付けてもいいんです。
kokutou203122

2021/05/27 07:30

何度もありがとうございます! やってみます!
kokutou203122

2021/05/27 08:09

while True: print("名前を入力して下さい") name = input() if name == "": break else: print("参加者:",name) おかげさまでできました
guest

回答2

0

endではなく"end"ではないでしょうか
それと終了条件は!=かと思います。

while name != "end": name = input("") break

投稿2021/05/27 06:58

編集2021/05/27 07:00
goto_yuta_

総合スコア211

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

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

0

print("名前を入力して下さい")
name = input()
if name == "":
break
else:
print("参加者:",name)

投稿2021/05/27 12:12

kokutou203122

総合スコア1

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問