【问题标题】:how to replace word in python without use of any library or functions [closed]如何在不使用任何库或函数的情况下替换python中的单词[关闭]
【发布时间】:2019-03-10 21:45:22
【问题描述】:

句子:- 这是牛 我想把这个牛这个词换成狗。

accepted_strings = {'DOG', 'Dog', 'dog'}

a= raw_input('Enter a word:')
for a in accepted_strings:
    while(a == 'dog')   
    print('this is cow')
do:
    print(a)

我试过了,但没有达到预期的输出。

【问题讨论】:

  • 您可以使用str.replace 这是一种方法,不确定您是否将其视为函数。这也不是有效的 Python 代码
  • 不,我不想使用 .replace 、 .append 或任何方法
  • 'this is cow'.replace('cow', 'dog').
  • @HarnishShah:那么我们无能为力,抱歉。 str.replace() 是标准方法,而不是库。应用这样的任意约束会使您的选项几乎为零。没有方法,你就只能进行迭代和切片,解释这一切如何工作的范围太广了。
  • 问题的措辞确实很糟糕,但你可以这样做我已经写了soln来满足最低限度的期望,即soln可以用替换词替换给定的单词只要len(sentence)它就可以工作>替换词显然可以做很多改进link

标签: python replace


【解决方案1】:

我不明白你为什么不想使用.replace(),但这里是一个编辑

s = "foo bar baz"
result = ""
for i in s.split():
     if i == "foo":
         i = "chocolate"
     result += i

print(result)  # "chocolate bar baz"

不过我强烈建议使用str.replace(),我的意思是它在标准库中,如果你不想使用它,那为什么要使用forlist() 甚至print()

【讨论】:

  • 第一个打印foo bar baz
  • 哦对,忘了加.split(),但我猜他也不想用̀.split()`
  • 这打印chocolatebarbazstr.split() 生成一个列表,其中没有您拆分的空格。
  • s = raw_input('Enter yr sentance:') #s = "this is cow" ans = "" c = 0 for i in range(len(s)): if(s[i ] == "c"): if(s[i+1] == "o"): if(s[i+2] == "w"): ans += "d" c += 1 else: if(c != 0): if(c == 1): ans += "o" c = 2 else: ans += "g" c = 0 else: ans +=s[i] print(ans)
猜你喜欢
  • 1970-01-01
  • 2023-02-10
  • 2022-11-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-06
  • 2013-11-19
  • 1970-01-01
相关资源
最近更新 更多