簡體   English   中英

py2exe輸入不起作用

[英]py2exe input not working

我的一點點代碼(不是全部,但我認為這是所有需要的):

functions = {'1':cels_kelw, '2':cels_farh, '3':cels_kelw, '4':kelw_farh, '5':cels_farh, '6':kelw_farh}
while True:
    operation = raw_input("Choose number:\n")
    if operation == '7':
        print 'PROGRAM ENDED'
        break
    try:
        chosenFunction = functions.get(operation)
        if (operation == '3') or (operation == '5') or (operation == '6'):
            turn = 1
        else:
            turn = 0
        print ("Result of your conversion is {num}".format(num = chosenFunction(get_float(), turn)))
    except NameError:
        print("Function you have chosen doesn't exists or you have put wrong type of data")

現在,當我在python解釋器中運行它時,它運行良好,當我被要求選擇函數並且它存在時-沒有異常,它使我選擇了函數。

當我用py2exe將其轉換為.exe時,它要求我在腦海中輸入函數的數量,但是它不起作用。 輸入數字后(例如1),它再次要求我輸入數字。

此代碼有什么問題? 感謝幫助。

我想這些功能是在另一個python模塊中定義的。 而且您錯過了編寫setup.py文件的過程。

您必須將所有python模塊/軟件包添加到setup.py

編輯

只是一種感覺,但是,您可以在break后添加else語句嗎?

 if operation == '7':
        print 'PROGRAM ENDED'
        break
 else: # Add this here.
    try:
        chosenFunction = functions.get(operation)
        # ... Etcera ...

也許您的標識有問題,或者py2exe在這里做了一些奇怪的事情。 進行更改,然后告知我們。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM