【问题标题】:Unable to replace commas by dots in a string and vice versa无法用字符串中的点替换逗号,反之亦然
【发布时间】:2021-09-30 14:09:41
【问题描述】:

我正在尝试用点替换字符串中的逗号。我编写了以下代码,但输出是一个只有点且没有逗号的字符串。请让我知道我哪里出错了。

my_string = 't,r,y.i.n.g'
my_list= []
for x in my_string:
    if x != (',' and '.'):
        my_list.append(x)
    elif x== ",":
        my_list.append(".")
    else:
        my_list.append(",")

new_str = ''
for i in my_list:
    new_str +=i
print(new_str)

【问题讨论】:

  • 首先,如果我认为 x != ',' 和 x != '.' 会是这样的话
  • 在您最近的编辑中,(',' and '.') 的计算结果为 '.',这意味着您的第一个条件是 if x != '.':
  • @Axe319 - 谢谢,现在知道了。

标签: python-3.x string for-loop replace append


【解决方案1】:

线

if x != ',' and '.':

应该是

if x != ',' and x != '.':

if x not in (',', '.'):

您编写它的方式是解释and '.' 以检查'.' 是否为非空字符串,因此and '.' 部分始终匹配。

【讨论】:

    猜你喜欢
    • 2019-03-17
    • 2020-07-24
    • 2019-12-27
    • 2011-08-31
    • 1970-01-01
    • 2018-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多