我应该在哪里写 .lower() 让它工作? [复制]
Posted
技术标签:
【中文标题】我应该在哪里写 .lower() 让它工作? [复制]【英文标题】:Where should I write .lower() for it to work? [duplicate] 【发布时间】:2017-07-04 18:20:48 【问题描述】:这个问题有所不同,因为我不明白其他答案如何符合我的代码。我确实先检查了其他问题。我需要一些特定于我的代码的东西。 我需要 .lower() 来处理我的一个输入,但是我不确定将它放在哪里。我不熟悉这些功能,所以我需要一点帮助。 我的代码的一部分是...
phone_model = ["s4", "s5", "note", "j5", "s6", "s7", "s6 edge", "s7 edge", "ace", "ace 2"]
model = input("Which model is your Samsung device?")
if model in phone_model:
problems = input("OK, what is the problem with your device?")
我想要将模型的答案转换为小写的功能。
【问题讨论】:
对于str
,您通常将.lower()
放在哪里?
七次投反对票对于第一次海报来说有点苛刻。问题描述很清楚“我需要 .lower() 来处理我的一个输入,但是我不确定将它放在哪里。” OP 展示了他的代码并表明他知道他应该使用str.lower()
。虽然答案似乎很明显,但对 OP 来说却不是。一个糟糕的初学者问题将不显示代码并询问如何制作小写字母,而无需进行足够的研究以知道str.lower()
将是正确的方法。让我们把这个社区变成一个更受欢迎的社区,让新用户和新手程序员更容易接受。
先说一下如何不使用lower()
。不要使用lower("RED")
来获取red
,因为lower 是字符串方法,而不是函数。而是做"RED".lower()
。通过向对象引用添加一个点,然后添加方法名称和括号来访问方法。如果您需要传递任何参数,它们会放在括号中。这也适用于color = "RED"
然后color = color.lower()
。请注意,我将color.lower()
的结果分配回名称color
。我这样做的原因是 Python 字符串是不可变的。它们不会发生变异,而是返回一个新字符串。
非常感谢!我真的很感激你写的。你让我更清楚了......@StevenRumbalski
【参考方案1】:
这里:
phone_model = ["s4", "s5", "note", "j5", "s6", "s7", "s6 edge", "s7 edge", "ace", "ace 2"]
model = input("Which model is your Samsung device?").lower()
if model in phone_model:
problems = input("OK, what is the problem with your device?")
【讨论】:
【参考方案2】:您将在输入的末尾写下如下:
model = input("Which model is your Samsung device?").lower()
但是我建议 不要 这样做,而是在条件语句中更改为小写,这样可以保留原始输入。
if model.lower() in phone_model:
【讨论】:
【参考方案3】:如果你这样做:
model = input("stuff").lower()
当它存储在模型中时,它会自动将输入转换为低。
【讨论】:
【参考方案4】:您可以在检查 phone_model
时将输入的 model
转换为小写
if model.lower() in phone_model:
这样你就保留了原来的输入model
,当需要调试的时候,你可以检查用户到底输入了什么
【讨论】:
以上是关于我应该在哪里写 .lower() 让它工作? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
PostgreSQL GROUP BY LOWER() 不工作
我应该在哪里写 Anylogic 中动态变量的 if 条件?