0

2 つの数値を比較するために、Python プログラム (Python 3.x で作成) を実行しようとしています。IDE: Eclipse JAR: jython-standalone-2.5.3.jar
Eclipse のコンソールでプログラムを実行すると、「最初の整数を入力してください:」と表示されます。整数を入力した後、プログラムはそれ以上実行されません。何が問題になる可能性がありますか?注: Python IDLE では問題なく動作します。

   JAVA CODE:(ExperimentWithPython.java)
   ===============
   import org.python.core.PyException;
   import org.python.util.PythonInterpreter;
   public class ExperimentWithPython{
    public static void main(String[] args) throws PyException{   
    try
    {
     PythonInterpreter.initialize(System.getProperties(), System.getProperties(),new                String[0]);
        PythonInterpreter interp = new PythonInterpreter();
        interp.execfile("D:/Development/comparisons01.py");
    }
    catch(Exception e)
    {
        System.out.println(e.toString());
        e.printStackTrace();
       }
      }
    }

    PYTHON CODE: (comparisons01.py)
     ===============
     print("Enter two integers and I will tell you")
     print("the relations they satisfy")
     number1 = input( "Please enter the first integer: " )
     number1 = int(number1)
     number2 = input( "Please enter the second integer:" )
     number2 = int(number2)
     if number1 == number2:
     print ("%d is equal to %d" % (number1, number2))
     if number1 != number2:
     print ("%d is not equal to %d" % (number1, number2))
     if number1 < number2:
     print ("%d is less than %d" % (number1, number2))
     if number1 > number2:
     print ("%d is greater than %d" % (number1, number2))
     if number1 <= number2:
     print ("%d is less than or equal to %d" % (number1, number2))

      if number1 >= number2:
      print ("%d is greater than or equal to %d" % ( number1, number2 ))
     dummy=input()

コードとjarの互換性のために、実際にはソリューションが機能していないことがわかりました。

Python 2.x標準でコードを書き直し、Python 2.7をインストールし、ビルドパスでjython-standalone 2.7 jarを使用しました。それはうまくいっています。このコードを試すことができます:

     import random
     import time

    ##Declare Variables
     user_num=0
    ##lottery_num=random.randint(10,99)
    lottery_num=12

     ##Input
       print("Welcome to the Lottery Program!")
       user_num=int(input("Please enter a two digit number: "))
       print("Calculating Results.")
       for i in range(3):
        time.sleep(1)
        print(".")

    ##Calc & Output
     lottery_tens = lottery_num // 10
     lottery_ones = lottery_num % 10

     user_tens = user_num // 10
     user_ones = user_num % 10

     if lottery_num == user_num:
     print("All your numbers match in exact order! Your reward is $10,000!\n")
      elif lottery_tens == user_ones and lottery_ones == user_tens:
    print("All your numbers match! Your reward is $3,000!\n")
     elif lottery_tens == user_tens or lottery_ones == user_ones \
     or lottery_ones == user_tens or lottery_tens == user_ones:
      print("One of your numbers match the lottery. Your reward is $1,000!\n")
    else:
      print("Your numbers don't match! Sorry!")
4

0 に答える 0