- 已关闭。**此问题不符合Stack Overflow guidelines。当前不接受答案。
这个问题似乎与help center中定义的范围内的编程无关。
3小时前关门了。
Improve this question
所以,我是Python的新手。我尝试了OpenAI的一个名为ChatGPT的A. I代码生成器。它显示了我想要的输出。但是当我在Python编译器中运行相同的代码时,结果却不一样。下面提供了ChatGPT的代码。
def add_degree_symbol(string):
result = ""
numbers_after_a = False
for c in string:
if c == "a":
numbers_after_a = True
result += c
elif c in "bcdefghijklmnopqrstuvwxyz":
numbers_after_a = False
result += c
elif numbers_after_a and c in "0123456789":
result += c + "hi"
else:
result += c
return result
我期望的输出如下
print(add_degree_symbol("a123b")) # outputs "a123hib"
print(add_degree_symbol("a123+456b")) # outputs "a123hi+456b"
print(add_degree_symbol("a123*456b")) # outputs "a123hi*456b"
print(add_degree_symbol("abcdefghijklmnopqrstuvwxyz")) # outputs "abcdefghijklmnopqrstuvwxyz"
print(add_degree_symbol("a1234567890b")) # outputs "a1234567890hib"
2条答案
按热度按时间xqnpmsa81#
不要使用循环,而要使用正则表达式。我建议阅读关于正则的内容,以便更好地理解。
现在,使用以下代码:
参数
count=1
会将替换次数限制为1。您可以根据需要更改它。如果有帮助就告诉我。
ogq8wdun2#
修改发布以获得预期结果
"