繁体   English   中英

如何让变量同时接收字符串和整数?

[英]How can i make a variable recive both a string and a int?

这是我的代码,但它不适用于 python 3.4

print ("Hello")

b = str(input("Where do you go?\n"))

def place(a):
    if a == "r" or a > 0:
        print("Turned right.")
    elif a == "l" or a < 0:
        print("Turned left.")
    else:
        print("Invalid")
        a = int(str(input("Where do you go?\n")))
        place(a)

place(b)

我想让 'b' 成为一个 int 或一个字符串

使用try except块:

b = input("Where do you go?\n")

def place(a):
    try:
        a = int(a)
        # code for a being a number
    except ValueError:
        # a is a letter

isdigit() 方法会告诉你一个字符串是否是一个整数。

a = "1"
if a.isdigit():
    a = int(a)

这不是你想要的吗?

def place(a):
    try:
        b = int(a)
    except ValueError:
        b = 0

    if (b != 0):
        if b > 0:
            print("Turned right.")
        else:
            print("Turned left.")
    elif (type(a) is str) and ((a == 'r') | (a == 'l')):
        if a == 'r':
            print("Turned right.")
        else:
            print("Turned Left")
    else:
        print("Invalid")
        raise TypeError("Nothing to do")

暂无
暂无

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

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