我应该在哪里写 .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() 让它工作? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

向 CMFCToolbar 添加复选组合框

PostgreSQL GROUP BY LOWER() 不工作

我应该在哪里写 Anylogic 中动态变量的 if 条件?

酶设置文件应该写在哪里?

Android EditText,让它填满整个屏幕并在其中任意位置书写

读李开复-《向死而生》