首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python我不能替换字符串值

Python我不能替换字符串值
EN

Stack Overflow用户
提问于 2017-10-13 18:20:03
回答 2查看 147关注 0票数 1

我正在Visual中用Python3编程。

因此,我的第一个函数生成一个DNA字符串,我的第二个函数应该用两个不同的函数替换该字符串中的1对。我在这里做错什么了。(我得到的错误从错误的语法开始。)

再次感谢你的帮助。

代码语言:javascript
复制
import random as rd


def generateVirus(length):
    a = [rd.choice(["AT", "GC","TA", "CG"])for i in range(length)]
    return ("".join(a))


def mutate(virus):
    virus = [v.replace(virus[int(rd.random()*(len(virus+1))), rd.choice([virus]for v in virus]
    return virus

a = generateVirus(4)
b = virus(a)
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-10-13 19:10:07

代码语言:javascript
复制
import random as rd

dna = ["AT", "GC","TA", "CG"]
def generateVirus(length):
    a = [rd.choice(dna)for i in range(length)]
    return ("".join(a))

def mutate(virus):
    start = int(rd.random()*(len(virus)/2)) *2
    replacement = rd.choice(["AT", "GC","TA", "CG"])
    newvirus = virus[0:start] + replacement + virus[start+2:]
    return newvirus



a = generateVirus(4)
b = mutate(a)
print(a) 
print (b)

现在起作用了

票数 0
EN

Stack Overflow用户

发布于 2017-10-13 18:39:14

这似乎是平衡的:

代码语言:javascript
复制
def mutate(virus):
    virus = [v.replace(virus[int(rd.random()*(len(virus+1)))]), rd.choice([virus]for v in virus)]
    return virus

但是,您从未定义使用以下方法调用的virus函数:

代码语言:javascript
复制
b = virus(a)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46735900

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档