def NumberToSymbol(index):
SeqDict = {0:'A', 1:'C', 2:'G', 3:'T'}
str_index = str(index)
result = ""
for i in str_index:
result = result + SeqDict[int(i)]
return result
def Quotient(index,4):
index = int(index/4)
return index
def Remainder(index, 4)
index = index%4
return index
当计算Pattern=NumberToPattern(9904,7)时,我们将9904除以4得到2476的商和0的余数。这个余数表示模式的最后一个核苷酸,或NumberToSymbol(0)=A。然后我们迭代这个过程,将每个后续的商除以4,直到我们得到商0。核苷酸列中的符号,从底部向上读取,产量模式=GCGGTAA
def NumberToPatten(index, k):
if K==1:
return NumberToSymbol(index)
else:
prefixIndex = Quotient(index, 4)
r = Remainder(index, 4)
symbol = NumberToSymbol(r)
PrefixPattern = NumberToPatten(prefixIndex, k -1)
return str(PrefixPattern) + symbol
l这4个功能一起工作: 输入:整数索引和k。 输出:字符串NumberToPattern(索引,k)。 例如: 输入:45,4 输出:AGTC
让我先帮你理解这个问题,然后告诉你一些解决这个问题的方法
在python(或任何其他编程语言)中,函数可以
def fun_name(arg1、arg2):正常参数
或
def fun_name(arg,arg2=4):#默认值参数,如果用户未为arg2提供值,则将分配默认值,即4
在代码中,您定义了一个名为“商”的函数,其中包含参数索引和其他定义为“4”的参数,为文本,变量名不能为文本
解决方案/修复
解决方案1#首选#默认值参数,因此如果用户传递该值,它将接受该值,否则它将被指定为默认值4
解决方案2:#而不是使用文字变量
解决方案3.#仅从调用方位置传递1个变量
为评论中讨论的其他问题编辑
**使用NumberToSymbol函数将0112转换为ACCG**
注意:如果您正面临调用此函数的问题,请尝试将值传递为字符串,默认Python将0112视为八进制数,因此尝试将其发送为“0112”
相关问题 更多 >
编程相关推荐