Py学习  »  Python

python 3.6.6输入不从输入返回任何内容

WastefulProgramming • 5 年前 • 1364 次点击  

我的代码现在很简单

#BlackJack

print("welcome to Wasteful's blackjack game")`
print("this program was built using standard python")

print("please select a option")
print("A to start, B to quit")
print("----------------------------")

menu_select = input("A/B: ").lower

if menu_select == "a":
    print("starting game when i can be assed to program it")
elif menu_select == "b":
    exit()
else:
    print("invalid")

但两个都是空的 a b ?我卡住了,需要点帮助,谢谢!

编辑:我注意到了这个愚蠢的错误。lower应该是。lower()

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/40733
 
1364 次点击  
文章 [ 2 ]  |  最新文章 5 年前
Xeno
Reply   •   1 楼
Xeno    6 年前
def main():
    print("welcome to Wasteful's blackjack game") 
    print("this program was built using standard python")
    print("please select a option") 
    print("A to start, B to quit")
    print("----------------------------")
    menu_select = input("A/B: ").lower()

    if (menu_select == "a"):
        print("starting game when i can be assed to program it") 

    elif (menu_select == "b"):
        exit() 

    else: 
        print("invalid")

main()

首先,正如Rassar所说,在从用户获得输入后,必须调用.lower()。 接下来,我总是发现创建一个主循环函数来调用所有未来的函数并保持代码整洁更容易!希望这有点帮助! 快乐编码!:)

rassar
Reply   •   2 楼
rassar    6 年前

这是因为你没有打电话 lower() ,您正在设置 menu_select 函数本身 :

>>> menu_select = input("? ").lower
? 
>>> menu_select
<built-in method lower of str object at 0x10ca5eab0>

将您的行更改为:

menu_select = input("A/B: ").lower()