【CS50】:( handles same starting and ending sizes
expected “Years: 0”, not “Years: 1\n”【エラー】

こんにちガイア!

まだまだ原神に毒されているasagiです。

ただ久しぶりの記事は原神ではなく、CS50のcheck50エラーについてです。

ハーバード大学 CS50 の日本語版翻訳サイトが出来たので英語が出来なくても雰囲気が楽しめるようになりました。

そこでWeek1のLab1で早速躓いたので晒していこうと思います(笑)

Populationのラマさんの問題ですが、コードのテスト方法を一通り終わらせいざcheck50 cs50/labs/2021/x/population を実行したらエラーが出てしまいました。

コードのテストは通過したのに何故???

🙁 handles same starting and ending sizes
expected “Years: 0”, not “Years: 1\n”

まあ直訳してもコードのどこが悪いのかわかりませんのでググりました。

同じ事で悩んでいる人を発見しました(但し英語)

その人へのアドバイスを要約すると何でもかんでもdo…while無双してんなよって事でした。

最初whileで一通り書いたんですけど、最後にヒント読んだらdo…while使うといいよって書いてあって全部do…whileに書き換えたんですよ。

それがダメだったみたいですね。

自分の場合3箇所do…whileを使用したんですけど、2箇所だけdo…whileにして1箇所はwhileに直しました。

whileとdo…whileの違いはwhileはループに入る前に条件をチェックし、do…whileは条件に関わらず一回は実行された後に条件をチェックする所です。

つまりdo…whileだと開始母集団と終了母集団を比べる場合に必ず一回処理した後で比べる事になるわけです。

それはおかしいよねって言うエラーでした。

確かに実行後に条件をチェックしたらダメな箇所あったよねええええ。

そこ直したらオールグリーン!

これで提出!ではなく、スタイルもチェックしてから提出しました。

やったー!

しかしヒント出し過ぎたかな?

ただここで躓いて辞めるのは最初過ぎて勿体ないので誰かの助けになればと思います。

では(^^)ノシ

コメントを残す

メールアドレスが公開されることはありません。