2017-02-23 5 views
0
is42= False 
while(raw_input()): 
    d = _ 
    if d == 42: 
     is42 = True 
    if not is42: 
     print d 

このPythonブロックのコードでは、対話型プロンプトモード以外で使いたいと思います。だから私は最後の出力として_を使うことはできません。 raw_inputを変数に代入するにはどうすればよいですか?私はサイトから運動をしています。約5つの値が入力であり、それぞれの入力値に対していくつかの出力を吐き出すと仮定しています。これを行うには、このインプットを取り入れる最良の方法は何ですか?whileループでraw_inputを使用し、それを変数に代入しますか?

+1

常に最初の公式ドキュメントを確認してください。 https://docs.python.org/2/library/functions.html?highlight=raw_input#raw_input – delta

+1

'd = raw_input("数字を選択: ")' – serk

+1

上記の2つのコメントに加えて: Python 2ではなく、[python 3](https://docs.python.org/3)を学ぼうとしています。Python 2は現在、古くから、[推奨]されています(https://wiki.python。 org/moin/Python2orPython3 /)を使用して最新のバージョンを使用することができます。 – MaLiN2223

答えて

0

これは非常に非効率的なロジックのようです。 is42ステータスフラグも本当に必要ですか?そうでない場合は、

stuff = raw_input() 
while stuff: 
    if stuff != "42": 
     print stuff 
    stuff = raw_input() 

のようなものが欲しいかもしれません。

0
is42=False 
while(!is42): 
    d = int(raw_input("Enter a number: ")) 
    is42 = d==42 
    print "d = ", d 

あなたの問題の要件を正しく理解していれば、そうするはずです。

0

こんにちは、ようこそ、Pythonに!

raw_input()関数は、入力読み取りを文字列として返します。だからd = _がある場合は、それをd = raw_input()に置き換えることができます。私があなたのために持っている質問は、それがなぜ中に入ったのかということです。ユーザーに何度も何度も何度も質問する必要がある場合は、while(raw_input()):while True:に置き換えてください。

もう1つのこと、raw_input()は常に文字列を返します。したがって、print '30' == 30を実行すると、30の文字列表現が30の数値表現と等しくないことがわかります。しかし、それは問題ではありません! d = raw_input()d = int(raw_input())に置き換えて、戻り値をraw_input()にすることができます。

ここでは、ユーザーが整数に変換できない入力をユーザに与えたときに、別の問題が発生することがあります。 :)

決勝コード:

is42= False 
while True: 
    d = int(raw_input()) 
    if d == 42: 
     is42 = True 
    if not is42: 
     print d 
関連する問題