1. ホーム
  2. python

[解決済み] stdoutの値が正しくありません。

2022-02-01 12:50:22

質問

プログラミングの初心者で、Pythonを使用しています。これは文字通り私のクラスの3週目です。課題は以下の通りです。

化学の宿題をしなければならないが、周期表で元素を調べるのは嫌だ!という方。標準入力から元素の名前 (大文字小文字を区別しない文字列) を受け取り、標準出力にその原子量を表す double を出力するプログラムを書きなさい。最初の3つの元素、ハイドログレン、ヘリウム、リチウムについてのみプログラムを実装し、それぞれの原子量は1.008、4.0026、6.94である。もしそれ以外のものが入力として与えられたら、 "すみません、その元素は認識できません!" < という文を出力せよ。

OK、ではif/elseチェック。今週の最後の20数個の課題と特に変わりはありません。

だから

element = (input('Enter chemical name'))
name = element.lower()
if name == "hydrogen":
    print('Atomic weight: 1.008')
elif  name == "helium":
    print('Atomic weight: 4.0026')
elif  name == "lithium":
        print('Atomic weight: 6.94')
else:
    print('Sorry, I do not recognize that element!')

で、ユーザーが名前を入力すると、その文字列がlower関数を通してnameに渡されるので、すべて小文字になります。あとは、ifとelseの繰り返しだ。簡単でしょう?

さて、MyProgrammingLabは次のようなエラーを投げ返します。

stdoutの値が正しくありません。

そう...そうなんです。stdoutってなんですか?Pythonのビルトイン関数であることはわかったんだけど。しかし、私はそれが実際に何をするのか、なぜ私のプログラムで使用されているのか分かりません。私はそれを呼び出すことはありません。

どのように解決するのですか?

print の文がありません。 elif .

element = (raw_input('Enter chemical name'))
name = element.lower()
if name == "hydrogen":
    print('Atomic weight: 1.008')
elif  name == "helium":
    print('Atomic weight: 4.0026')
elif  name == "lithium":
    print('Atomic weight: 4.0026')
else:
    print('Sorry, I do not recognize that element!')