Python3.4:嵌套函数未执行

Python3.4:嵌套函数未执行,python,function,python-3.x,nested,Python,Function,Python 3.x,Nested,这是我的完整代码: import sys import string version = 1.0 print ("...Written in Python 3.4...\n") print ("Copyright 2014 Ethan Gold. version 1.0") print ("\n") print ("Welcome to BattleText!") print ("Is this your first time playing?") #functions:

这是我的完整代码:

import sys
import string

version = 1.0
print ("...Written in Python 3.4...\n")
print ("Copyright 2014 Ethan Gold. version 1.0")
print ("\n")
print ("Welcome to BattleText!")
print ("Is this your first time playing?")
#functions:



            #Story Select
def storySelect(sys, string):
    print ("\n Story Select: 1: Beta Framework")
    yn0 = input("> ")
    if yn0 == 1:
        betFrame(sys, string)

            #Beta Framework
def betFrame(sys, string):
    print ("test")


yn = input("> ")
if yn == "y":
    print ("\n Welcome to the world of BattleText!")
    print ("BT is a combat-based text adventure platform that supports multiple stories")
    print ("In this game, you win by defeating all enemies. You lose if your health drops to 0\n")
    print ("This is version", version)
    if version == 1.0:
        print ("This version of BattleText does not support third party or patchable stories")
        print ("BTv1.0 is a demo and all stories are distributed through official updates")
        print ("This is a test beta framework")
    else:
        print ("This version of BT should support third-party and patchable stories")

else:
    storySelect(sys, string)
出现问题的部分如下:

#Story Select
    def storySelect(sys, string):
        print ("\n Story Select: 1: Beta Framework")
        yn0 = input("> ")
        if yn0 == 1:
            betFrame(sys, string)

                #Beta Framework
    def betFrame(sys, string):
        print ("test")

调用storySelect时,它应该要求您从列表中进行选择。当您键入1时,它应该调用betFrame,但它似乎没有这样做。相反,当我键入1时,它将变为空白,程序将无错误退出。请帮忙

input
返回一个字符串。将其与整数进行比较,因此表达式永远不会为真。您需要将输入转换为int(或比较为字符串)

用于添加输入验证。
yn0 = input("> ")
if yn0 == "1":
    # do stuff


yn0 = int(input("> ")) # Also consider catching a ValueError exception
if yn0 == "1":
    # do stuff