Python
 Computer >> コンピューター >  >> プログラミング >> Python

基本的なPythonプログラミングの課題


このチュートリアルでは、課題の解決策を作成します。

チャレンジ

基本的な算術演算のランダムなセットを生成する必要があります。ユーザーが質問の数を入力し、質問を生成する必要があります。すべての質問の後、ユーザーはそれに答えます。プログラムの最後に、スコアを与える必要があります。試してみましょう。

# importing random and operator modules
import random
import operator
# main function
# taking number of questions that we have to generate
def main(n):
   print("Welcome to the quiz\nYou should answer floats upto 2 decimals")
   # initialising score to 0
   score = 0
   # loop to generate n questions
   for i in range(n):
      # getting answer and correctness of a question
      is_correct, answer = question(i)
      # checking whether is_correct is True or not
      if is_correct:
         # increment score by 1 if correct
         score += 1
         print('Correct Congrats!')
      else:
         # printing the correct answer
         print(f'Incorrect! Answer: {answer}')
   # displaying the total score
   print(f'Total score: {score}')
# function for the question
def question(n):
   # getting answer from the generate_function
   answer = generate_question()
   # taking answer from the user
   user_answer = float(input("Answer: "))
   # returning answer to the main function
   return user_answer == answer, answer
# function to generate a random question
def generate_question():
   # initialising operators for random generation
   operators = {
      '+' : operator.add,
      '-' : operator.sub,
      '*' : operator.mul,
      '/' : operator.truediv,
      '//' : operator.floordiv,
      '%' : operator.mod
   }
   # initialising numbers for expressions
   nums = [i for i in range(10)]
   # getting two random numbers from nums for calculation
   _1, _2 = nums[random.randint(0, 9)], nums[random.randint(0, 9)]
   # generating random operator from the list of operators
   symbol = list(operators.keys())[random.randint(0, 5)]
   # calculating the answer
   answer = round(operators.get(symbol)(_1, _2), 2)
   print(f'{_1} {symbol} {_2}?')
   return answer
if __name__ == '__main__':
   main(5)

出力

上記のコードを実行すると、次の結果が得られます。

Welcome to the quiz
You should answer floats upto 2 decimals
5 + 7?
Answer: 12
Correct Congrats!
9 / 9?
Answer: 1
Correct Congrats!
4 + 7?
Answer: 11
Correct Congrats!
6 // 6?
Answer: 1.0
Correct Congrats!
9 % 3?
Answer: 0
Correct Congrats!
Total score: 5

結論

難易度を上げたり、簡単な質問から難しい質問を生成したりするなど、いくつかの機能を追加して質問を改善することもできます。自分で試してみてください。チュートリアルを楽しんでいただけたでしょうか。疑問がある場合は、コメントセクションにその旨を記載してください。


  1. WindowsでのPythonプログラミング用のIDE

    この記事では、PythonforWindowsで利用できるさまざまなIDEについて学習します。 Pycharm インタラクティブなPythonコンソール Webフレームワークのサポート より速い屈折時間 開発が少ない Jupyterノートブック ほぼすべてのPythonモジュールとの互換性 スペースとハードウェアの要件が少ない 組み込みのターミナルおよびカーネル機能 さまざまなウィジェットを適用できます ウィングイデ 組み込みのデバッグツール 単体テストのサポート 簡単なコードナビゲーション機能。 コモドイデ サードパーティライブラリのサポート XMLオートコンプ

  2. Pythonでのタートルプログラミング

    カメはPythonの特別な羽です。 Turtleを使用すると、簡単に製図板に描くことができます。 まず、タートルモジュールをインポートします。次にウィンドウを作成し、次にタートルオブジェクトを作成し、タートルメソッドを使用して製図板に描画できます。 いくつかのカメの方法 方法 パラメータ 説明 Turtle() なし 新しいタートルオブジェクトを作成して返します forward() 金額 指定された量だけカメを前進させます backward() 金額 指定された量だけカメを後方に動かします right() 角度 カメを時計回りに回転させます left() 角