在不更换设备或卸载 IDE 的情况下测试自己程序的兼容性

问题描述

介绍(不重要): 我是编程(和 stackoverflow)新手,刚刚完成了一个小型 Python 课程。我使用课程中最后完成的练习之一作为编写简单程序的基础。它按我的意愿工作,我试图让它尽可能万无一失。我尝试研究下面的问题,但找不到答案(可能是我的措辞不正确)。

问题:

我知道我可以使用 Python 安装程序、Nuitka 或其他工具将代码编译成 .exe,最好是作为不需要安装 Python 或其他编程软件的独立程序。我注意到这个过程不是 100%,因为发送给家人后,他们无法打开文件

有没有办法测试我创建的程序是否可以在不卸载编程软件的情况下使用我自己的 PC 单独运行(在没有特殊软件的终端用户 PC 上运行)?

对于那些对我的代码感兴趣的人: 这是一款没有任何图形(只是打字)的游戏,有 3 种难度设置,首先程序会尝试猜测您的号码,然后您尝试猜测代码数量,然后代码会比较尝试的次数并告诉您谁赢了。它会问你是否想再玩一次。 由于课程是德语,所以 print() 和 input() 输出是德语。我当然也会对任何改进技巧感到高兴(我希望我正确输入了代码):

from random import randint
from time import sleep
name = input("Hallo,wie heißt du? (Gib deinen Namen ein und drücke Enter): ")
print(f"Danke {name},lass uns jetzt ein spiel spielen.")
sleep(2)
print(" ")
print("In Runde 1,überlegst du dir eine Zahl zwischen 1 und 100 und ich versuche die zu erraten.")
sleep(3)
print("Ich gebe dir eine Zahl und du schreibst 'r' wenn richtig,'k' wenn deine Zahl kleiner ist und 'g' wenn deine Zahl größer ist.")
sleep(4)
input("ok?: ")
print(" ")
print("In Runde 2,überlege ich mir eine Zahl und du musst die erraten.")
sleep(3)
print("Schreibe einfach eine Nummer und ich sage dir ob meine Zahl größer,kleiner oder richtig ist.")
sleep(4)
input("ok?: ")
print(" ")


nochmal = "ja"
while nochmal == "ja" or nochmal == "yes" or nochmal == "shi" or nochmal == "ok" or nochmal == "y" or     nochmal == "j":
    level = input("Bitte gib eine gewünschte schwierigkeit ein; 'normal','schwer' oder 'extrem'?: ")
    if level == 'schwer' or level == 's' or level == 'schwierig':
        zahl = randint(49,51)
        zahl2 = randint(1,100)
        print("Schierigkeit für diese Runde: schwer")
    elif level == 'extrem' or level == 'extreme' or level == 'e' or level == 'ex':
        zahl = randint(48,52)
        zahl2 = randint(1,300)
        print("Schierigkeit für diese Runde: extrem. In Runde 2,musst du eine Zahl zwischen 1 und 300 raten.")
        sleep(1.5)
    else:
        zahl = randint(25,75)
        zahl2 = randint(1,100)
        print("Schierigkeit für diese Runde: normal")
    print(" ")
    sleep(1.5)
    print("Fangen wir an mit Runde 1 an. Bitte nur einen von den Buchstaben 'r','k' oder 'g' eingeben.")
    sleep(3)
    print(" ")


    liste = list(range(1,101))
    count = 1
    count2 = 1
    while True:
        frage = input(f"Ist {zahl} richtig?").lower()
        if frage == "r":
            sleep(1)
            break
        elif frage == "g":
            try:
                for nr in range((zahl + 1) - liste[0]):
                    liste.pop(0)
                zahl = randint(liste[0],liste[-1])
                count = count + 1
            except IndexError:
                print("Die Antwort kann nicht höher sein,da alle höheren Zahlen schon ausgeschlossen sind")
        elif frage == "k":
            try:
                for nr in range(liste[-1] - (zahl-1)):
                    liste.pop()
                zahl = randint(liste[0],liste[-1])
                count = count + 1
            except IndexError:
                print("Die Antwort kann nicht niedriger sein,da alle höheren Zahlen schon ausgeschlossen sind")
        else:
            antwort = randint(1,3)
            if antwort == 1:
                print("hey! Ich habe doch gesagt nur eines der 3 Buchstaben einzugeben!")
                sleep(1)
                print(" ")
                sleep(0.5)
            elif antwort == 2:
                print("Ungültige Engabe,bitte nur eines von den 3 oben genannten Buchstaben eingeben.")
                sleep(1)
                print(" ")
                sleep(0.5)
            else:
                print("Nur eines der Buchstaben 'r' (richtig) 'k' (deine Zahl ist kleiner) oder 'g'(deine Zahl ist größer) gilt als richtige Eingabe.")
                sleep(1.5)
                print(" ")
                sleep(0.5)
    if count == 1:
        print(f"Ich habe die richtige zahl in {count} runde erraten.")
    else:
        print(f"Ich habe die richtige zahl in {count} runden erraten.")
    print(" ")
    sleep(2)


    if level == 'extrem' or level == 'extreme' or level == 'e' or level == 'ex':
        print("Fangen wir mit Runde 2 an. Versuche meine Zahl zwischen 1 und 300 zu erraten.")
    else:
        print("Fangen wir mit Runde 2 an. Versuche meine Zahl zwischen 1 und 100 zu erraten.")
    sleep(2)
    print(" ")
    sleep(0.5)
    zahl2 = randint(1,100)
    while True:
        try:
            if level == 'extrem' or level == 'extreme' or level == 'e' or level == 'ex':
                eingabe = int(input("Gib eine Zahl zwischen 1-300 ein: "))
            else:
                eingabe = int(input("Gib eine Zahl zwischen 1-100 ein: "))
            if eingabe == zahl2:
                sleep(1)
                print(" ")
                if count2 == 1:
                    print(f"WOW,hast wohl Glück gehabt. Du hast nur einen Versuch gebraucht")
                    sleep(1.5)
                elif count2 == 2 or count2 == 3 or count2 == 4:
                    print(f"WOW! Du hast nur {count2} Versuche gebraucht!")
                    sleep(1)
                else:
                    print(f"Du hast {count2} Versuche gebraucht.")
                break
            elif zahl2 > eingabe:
                sleep(0.5)
                print("Zu klein")
                print(" ")
                sleep(1)
                count2 = count2 + 1
            else:
                sleep(0.5)
                print("Zu groß")
                print(" ")
                sleep(1)
                count2 = count2 + 1
        except ValueError:
            sleep(0.5)
            print("Falsche Eingabe,bitte eine ganze Zahl eingeben.")


    if count < count2:
        print(" ")
        sleep(1)
        print(f"Ich habe diese Runde gewonnen,sorry {name}.")
    elif count == count2:
        print(" ")
        sleep(1)
        print("Wir haben die gleiche Anzahl von Versuchen benutzt.")
    else:
        print(" ")
        sleep(1)
        print(f"Herzlichen Glückwunsch {name},du hast gewonnen!")
    print(" ")
    sleep(1.5)
    nochmal = input(f"Noch ein Spiel {name}? ").lower()
    print(" ")
print(f"Danke fürs Spielen {name}!")
sleep(1.5)
quit()

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)