私はPythonでプログラミングをしているにもかかわらず、プログラムをダブルクリックして.pyファイルを開くと正しく機能しません。それは私がコマンドラインからIDE(Pycharm)を介してそれを実行するときになります。基本的に、ダブルクリックすると、キー=入力( "Enter decode key:")部分に到達し、何かを入力すると、それが閉じます。どんな助けでも大歓迎です。私は自分のコードがエレガントではないことを知っています。 Python 3.5.2.pyをダブルクリックするとPythonスクリプトが正しく実行されない
サンプル入力は「キー」は23、「エンコード」は142,128,133,123,134,142となります。それは "ウィンドウ"を出力し、コマンドラインとPycharmで正常に動作するはずです。
import sys
def main(key, encoded):
if encoded == 0: #This should run if program was double-clicked (no arguments)
encoded = input("Paste encoded JavaScript: ")
key = input("Enter decode key: ")
def decode(key, encoded): #Decode the data
encoded = encoded.split(',') #Split each section delimiting by a colon
decoded = []
for x in encoded:
x = int(x) - int(key) #Subtract the key from the number in each section
decoded.append(chr(x)) #Change from ASCII decimal code to the ASCII character
decoded = ''.join(decoded) #Join back into a string
print(".")
print(".")
print(".")
print(".")
print("Encoded data:")
print(encoded)
print("Decode key:")
print(key)
print("Decoded data:")
print(decoded)
return 0
decode(key, encoded) #Jump into the decode function
return 0
if __name__ == "__main__":
try:
if len(sys.argv) > 1: #If length is greater than 1, then there were arguments added upon program execution
key = sys.argv[1] #The "key" should be the first argument
encoded = sys.argv[2] #The "encoded" data should follow
else:
key = 0 #If length is anything else, then set them to 0 and ask for the data later
encoded = 0
main(key, encoded) #Jump into main function and pass the key and encoded arguments
finally:
input("Press Enter to exit")
最後に置くことができます: '' input( "Enter"を押して終了します) '' – jasonharper
申し訳ありません、タイトルを変更しました。もともと、私はそれがちょうど最後に中断していないと思った。しかし、その後、私はそれがプログラムを通してそれを作っていないことに気づいた。それは情報を印刷した後に既に停止しているはずです(私はy =入力を持っています) – zinzara
何が起こっているのか分かりません。私はあなたの貼り付けられたコードにいくつかの書式設定エラーがあったと思います。 –