Raspberry Pi在Python 3脚本中的lower()函数未将输入转换为小写

澳洲人

我有一个使用以下代码连接到Raspberry Pi 3的RGB LED。我想要做的是向用户提出一个问题,以选择红色,绿色或蓝色,这与链接到特定GPIO引脚的变量相对应。

当用户输入红色时,LED将变为红色。当他们输入蓝色时,LED将变为蓝色。

当前,如果我输入红色,该代码将打印'20'(整数),它对应于BCM引脚20。这很好,但是我的问题是我无法先将用户的字符串响应转换为小写。(即,将RED转换为红色)

我收到一个错误:

request =  input("Choose a color. Red/Green/Blue".lower())
File "<string>", line 1, in <module>
NameError: name 'Red' is not defined

下面的代码是最简单的形式,可以首先测试我是否可以从用户那里获得小写输入。

red = 20
green = 16
blue = 21

try:
    while True:
        # I would like to convert user's answer (Red, Green,Blue) to a lowercase answer (ie. red, green blue)
        request =  input("Choose a color. Red/Green/Blue").lower()

        print(type(request))
        print(request)

except KeyboardInterrupt:

任何帮助将非常感激。

布宜诺斯艾利斯

这不是Python3。Python的3个“输入”将返回一个字符串,然后您可以将其转换为小写字母-但是您的代码中没有任何内容,因为给定了string颜色名称,该名称与变量名称相关联。

另一方面,Python 2的输入eval在返回结果之前会执行,运行用户以Python表达式键入的内容。因此,当用户输入时red,它将为您提供相关的值20(并且对此值进行较低的调用将失败)。

您所要做的是:编写可在Python2或Python3中工作的代码,其次,为用户输入的字符串提供一种一致的机制来检索颜色。对于最后一部分,推荐的方法是使用字典映射而不是将变量直接用作变量来关联颜色名称和值。

所以:

try:
   input = raw_input 
except NameError: 
   pass

colors = dict(
    red = 20,
    green = 16,
    blue = 21,
)

try:
    while True:
        request =  input("Choose a color. Red/Green/Blue")
        color = colors[request.lower()]
        ...
    except NameError:
        print("Invalid color name selected")
    except KeyboardInterrupt:
        ...

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Raspberry Pi在Python 3脚本中的lower()函数未将输入转换为小写

来自分类Dev

Raspberry Pi Camera自动捕获python脚本

来自分类Dev

Raspberry Pi Python脚本未定义?

来自分类Dev

处于 Sl 状态的 Raspberry Pi python 脚本

来自分类Dev

Raspberry Pi的Python脚本无法正常运行

来自分类Dev

无法在Raspberry Pi启动时执行python脚本

来自分类Dev

Raspberry Pi Crontab Python脚本需要写权限

来自分类Dev

在启动时为Raspberry PI运行OpenVINO Python脚本

来自分类Dev

在 Raspberry pi 上启动时启动 python 脚本的困难

来自分类Dev

Raspberry Pi MAX31865 Python到Java的转换

来自分类Dev

使用OpenCV,Python,Raspberry Pi 3的Ball Tracker

来自分类Dev

Python,Windows 和 Raspberry pi 3 之间的套接字

来自分类Dev

在Raspberry PI上的Python中执行FFmpeg命令

来自分类Dev

Python中的Raspberry Pi异步/连续语音识别

来自分类Dev

在Raspberry Pi上的python中读取NFC标签

来自分类Dev

Raspberry Pi Crontab脚本错误

来自分类Dev

Raspberry Pi脚本启动顺序

来自分类Dev

Raspberry Pi Crontab脚本错误

来自分类Dev

Raspberry Pi 3 BLE扫描

来自分类Dev

Raspberry Pi 3 BLE扫描

来自分类Dev

在Raspberry Pi中安装QtQml

来自分类Dev

Python Raspberry Pi GPIO错误

来自分类Dev

Raspberry Pi Python ValueError吗?

来自分类Dev

Broken raspberry pi 4 case python3 脚本导致磁盘错误

来自分类Dev

在Raspberry Pi 2中由cron执行包含GPIO命令的python脚本

来自分类Dev

在Raspberry Pi上打开和关闭屏幕保护程序-Python中的脚本

来自分类Dev

在Raspberry Pi上独立运行脚本

来自分类Dev

Raspberry Pi在启动后运行脚本

来自分类Dev

从Shell脚本(Raspberry Pi)运行Chromium吗?

Related 相关文章

热门标签

归档