Python:如果不是字符串,请使用重新输入输入并将用户输入转换为小写

标签 python pandas

我是Python新手,我有一个正在使用的数据集,一列由诸如(蓝色,红色,金色,白色)之类的字符串组成。我希望用户输入任何这些值,但我想让用户输入不区分大小写并拒绝整数输入,也就是说,如果用户输入“bLue”/“blUe”,它应该接受输入,如果用户输入输入“7”/“-4”/“0”,它应该提示用户重新输入字符串值。

def user():
    while True:
        try:
            print(f"Blue, Red, Gold, White, Black, Brown")
            user = input("Enter a color: ")
        except ValueError:
            print("Please enter a valid input")
            continue
        else:
            break
    return user

当用户输入像 3,2,-1,0 这样的数字时,它只返回数字,我希望它拒绝用户输入并告诉用户输入一个字符串,我还希望输入的字符串是不区分大小写。谢谢

最佳答案

 def user():
    while True:
        colors = ["blue", "red", "gold", "white", "black", "brown"]
        print(", ".join(colors))
        user_input = input("Enter a color: ").lower()
        if user_input in colors:
            break
        else:
            print("Please enter a valid input")
    return user_input

我认为你让事情变得比需要的更加复杂。这应该适用于您所描述的内容。如果还有其他需要更改的地方,请告诉我。

关于Python:如果不是字符串,请使用重新输入输入并将用户输入转换为小写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74926736/

相关文章:

python - 使用python作为一个 block 二进制文件旋转数组

python - 是否可以对具有 58 行、(时间序列)和 10467 列的大型 GDP 数据运行向量自回归分析?

Python Pandas 数据框分配

python - 调用 process.extract 时出现 TypeError : ('expected string or bytes-like object' , 'occurred at index 0' )

python - 使用字典并引用另一列值来映射 pandas 数据帧的一列中的缺失值

python - 如何旋转数据框?

python - 将风向分为几类

python - 在 BeautifulSoup 中用另一种标签替换一种标签

python - 使用pypi安装scrapy时出错

python - VS Code Python 扩展激活失败