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

Pythonで壊れた電卓


電卓が壊れていて、数字が表示されているとすると、実行できる操作は2つだけです-

  • Double-これは、ディスプレイ上の数値に2を掛けます、または;

  • デクリメント-これにより、表示されている数が1つ減ります

最初、電卓は数値Xを表示しています。数値Yを表示するために必要な最小の演算数を見つける必要があります。

したがって、入力がX =5で、Yが8の場合、出力は2になり、デクリメントとして1回、次に2倍になります

これを解決するには、次の手順に従います-

  • res:=0

  • Y> X

    • res:=res + Y mod 2 + 1

    • Y:=Y / 2 Yが偶数の場合、それ以外の場合(Y + 1)/ 2

  • res + X --Y

    を返します
例(Python)

理解を深めるために、次の実装を見てみましょう-

class Solution(object):
   def brokenCalc(self, X, Y):
      res = 0
      while Y > X:
         res += Y % 2 + 1
         Y = Y // 2 if Y % 2 == 0 else (Y + 1)//2
      return res + X - Y
ob = Solution()
print(ob.brokenCalc(5,8))

入力

5
8

出力

2

  1. PythonでTkinterを使用したシンプルなGUI計算機

    このチュートリアルでは、 Tkinterを使用して簡単なGUI計算機を作成します。 モジュール。 Tkinter GUIアプリケーションを開発するためのPythonモジュールが組み込まれています。使い方は簡単で、Pythonが付属しています。 GUIアプリケーションを使用してデータを視覚化できます。 簡単なGUI計算機を作成する方法を見てみましょう。 Tkinterからすべてをインポートします *を使用します。 電卓のインターフェースを作成します。 入力フィールドに数値を入力する入力関数を作成します。 入力フィールドからすべてを消去する見かけの関数を作成します。

  2. Pythonのissuperset()

    この記事では、Pythonでのissuperset()と、さまざまな分野でのその実装について学習します。 このメソッドは、セットBのすべての要素に引数として渡されるすべての要素セットAが含まれている場合はブール値Trueを返し、Aのすべての要素がBに存在しない場合はfalseを返します。 これは、BがAのスーパーセットである場合、それを意味します returns true; else False 例 いくつかの例を見てみましょう A = {'t','u','t','o','r','i',