繁体   English   中英

Python程序将无法执行

[英]Python program won't execute

我正在做一个小型游戏,涉及入侵人们的计算机,并窃取文件和金钱以完成任务。 这是到目前为止的代码:

#SICCr4k2: Broke
#
#
#
#Remember whenever you are printing a random ip address to add the "." in between each part of the ip (each random number)

## LAST LEFT ON HERE: MAKE BUTTONS FOR NODES
## MAKE FILES FOR NULL'S NODE
## SET THE CORRECT PLACEMENTS FOR ALL THE BUTTONS
## nullMain referenced before assignment
## make it so that you send a message through the prompt to get their ip, then it automatically puts the ip in the nodes
## window. Like you send the person a message, and then it gets the ip and puts it in the nodes window
## take away the buttons in the nodes window, just at labels where it points to the host's ip address.

import random
import time
import sys
import os
import tkinter as tk
from tkinter import *

#def nodes():
#   nodeWindow = tk.Tk()
#   frame = tk.Frame(nodeWindow, width=700, height=400)
#   frame.grid_propagate(0)
#   frame.grid()
#   nodeWindow.title("||| Nodes |||")
#   nullIp = tk.Label(nodeWindow, text="Ip: 221.153.52.216")
#   nullIp.grid(row=0, column=0)
#   nullMain = tk.Button(nodeWindow, text="Null", function=nullMainCallback())
#   nullMain.config(height=1, width=100)
#   nullMain.grid(row=0, column=0)
#   def nullMainCallback():
#       nullMain.destroy()
#       nullIp = tk.Label(nodeWindow, text="Ip: 221.153.52.216")
#       nullIp.grid(row=0, column=0)
#def commands():
def numbers():
    number1 = random.randint(1, 99)
    number2 = random.randint(1, 99)
    print(number1)
    if number1 != number2:
        numbers()
    if number1 == number2:
        os.system('cls')

def ips():
    nullIp = ('18.279.332')

def getIp():
    x = random.randint(1, 222)
    if x == 127:
        x += 1
    return '{}.{}.{}.{}'.format(
        x,
    random.randint(0, 255),
    random.randint(0, 255),
    random.randint(0, 255))

def commandInput():
    CommandInput = input(">>> ")
    if CommandInput == ("myNodes()"):
        nodes()
    else:
        commandInput()
    commandInput()

def usernameCreation():
    username = input(">>> ")
    print("'" + username + "' is that correct?")
    usernameInput = input(">>> ")
    if usernameInput == ("yes"):
        print("Okay...")
    if usernameInput ==("no"):
        usernameCreation()

def game():
    def tutorial():
        print('Hello.')
        time.sleep(3)
        print('Welcome back.')
        time.sleep(3)
        print('How was it?')
        time.sleep(3)
        print('Being hacked for the first time?')
        time.sleep(3)
        print("You're probably wondering who I am.")
        time.sleep(5)
        print("Well, my name is Null.")
        time.sleep(3)
        print("Only because I am well known for nothing.")
        time.sleep(3)
        print("Other than not being alive.")
        time.sleep(3)
        os.system('cls')
        print("First thing's first, what shall I call you?")
        usernameCreation()
        print("Let's give you a bit of movement.")
        time.sleep(3)
        print("""The first thing you will want to do would be to connect to my computer, but
to do that, you have to find my ip address. Here. I just uploaded new software to your computer.""")
        time.sleep(3)
        print("""You will now be able to access my ip, nad many other's with a simple command. The command is
getIp(). Input that command below, but inside the parenthesis, you type in the screen name. For instance: getIp(Null).
type that command in to get my ip.""")
        input(">>> ")
        if ("getIp(Null)"):
            numbers()
            print("""My ip was just added to your nodes, which you can access by typing myNodes().""")
game()

我只想指出,当我运行该程序时,它没有列出任何错误或任何内容,它根本没有执行……有什么想法吗????

您可以在game定义功能tutorial (您实际上不应该这样做–用这种方式定义它没有意义),但是永远不要调用tutorial

您想在game内调用tutorial

def game():
    def tutorial():
        # code for tutorial
    tutorial()

但是,一种更好的结构化代码的方法是使用main方法(这是开始执行程序并将所有其他功能保持独立的标准方法。无需像以前那样嵌套函数。

因此,例如:

def main():
    tutorial()

# all other function definitions

def tutorial():
    # code for tutorial

if __name__ == "__main__":
    main()

尽管您不应该嵌套这样的函数,但是您永远不会调用tutorial()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM