1

クラス(基本操作、加算、減算、乗算、除算)の割り当ての1つとして、Pythonで電卓を使用しています。印刷メニューがあり、ユーザーはそこから使用する操作を選択できます...そしてそれらの整数と答えが何であるかについての印刷ステートメントを入力します。私の問題は、ユーザーが実行したい操作の最初の入力を繰り返す必要があることです。プログラミングは初めてなので、どんな助けでも大歓迎です。

これが私のコードです:

print ("1 = addition")
print ("2 = subtraction")
print ("3 = multiplication")
print ("4 = division")
print ("5 = Exit program\n")

x = int (input ("What operation would you like to perform?: ")) #prompts user for operation

if (x == 1): #if operation chose is addition then this line will exacute
  int1 = input ("Enter first integer: ")
  int1 = int (int1)
  int2 = input ("Enter second integer: ")
  int2 = int (int2)
  sum = int1 + int2
  print ("Sum is:", sum)

elif (x == 2): #if operation chose is subtraction then this line will exacute
  int1 = input ("Enter first integer: ")
  int1 = int (int1)
  int2 = input ("Enter second integer: ")
  int2 = int (int2)
  dif = int1 - int2
  print ("Difference is:", dif)

elif (x == 3): #if operation chose is multiplication then this line will exacute
  int1 = input ("Enter first integer: ")
  int1 = int (int1)
  int2 = input ("Enter second integer: ")
  int2 = int (int2)
  mult = int1 * int2
  print ("Multiplication is:", mult)

elif (x == 4): #if operation chose is division then this line will exacute
  int1 = input ("Enter first integer: ")
  int1 = int (int1)
  int2 = input ("Enter second integer: ")
  int2 = int (int2)
  div = int1 / int2
  print ("Division is: %.2f" % div)

elif (x == 5):
  print ("goodbye")
  quit()
4

3 に答える 3

1

whileループを使用します。

xこれで、5に等しくなくなるまで何度もループします

while True:
    #your code

    elif x == 5:       # no need of () around conditions
    print ("goodbye")
    break             # exit the while loop 
于 2013-01-28T03:34:48.930 に答える
0

そのコードを関数に分割できます。

print "1 = addition"
print "2 = subtraction"
print "3 = multiplication"
print "4 = division"
print "5 = Exit program\n"

def maths(choice):
    if choice == 1: #if operation chose is addition then this line will exacute
       int1 = input("Enter first integer:")
       int2 = input ("Enter second integer: ")
       sum = int1 + int2
       print "Sum is:", sum

    elif choice == 2: #if operation chose is subtraction then this line will exacute
       int1 = input("Enter first integer: ")
       int2 = input("Enter second integer: ")
       dif = int1 - int2
       print "Difference is:", dif

    elif choice == 3: #if operation chose is multiplication then this line will exacute
       int1 = input("Enter first integer: ")
       int2 = input("Enter second integer: ")
       mult = int1 * int2
       print "Multiplication is:", mult

    elif choice == 4: #if operation chose is division then this line will exacute
       int1 = input("Enter first integer: ")
       int2 = input ("Enter second integer: ")
       div = int1 / int2
       print "Division is: %.2f" % div

    elif choice == 5:
       print "goodbye"
       quit()

while True: # "While True, repeat everything below":
    maths(input("What operation would you like to perform?: "))

編集:Python 2.7だとおっしゃっていたようですので、コードをクリーンアップしました。

input()は入力を文字列にしないため、int(int1)とint(int2)は必要ありません。すなわち:

>>> number = input('Enter a number! ') # Let's say I put 5
>>> print number
5 # Notice it's not a string (no ' ')

raw_input()は次のことを行います。

>>> number = raw_input('Enter a number! ')
>>> print number
'5' # 5 is a string, not an integer. And so int() would be required
于 2013-01-28T03:37:32.833 に答える
0

基本的なフロー制御について読む必要があります。関連するPythonチュートリアルセクションは次のとおりです。

forこれは、またはwhileループを使用して実装できます。両方の例を次に示します。

for a in range(10):
    print a

b=0
while b<0:
    print b
    b= b+1
于 2013-01-28T03:34:52.547 に答える