python - 我需要计算 python 中同一位置的类似字符,但我不知道如何正确计算,因为我是该程序的新手

标签 python string count

编写一个Python脚本,要求用户输入两个DNA 具有相同长度的序列。如果两个序列有 不同的长度然后输出“无效输入,长度必须 相同!”如果输入有效,则计算该处有多少个 DNA 碱基 这两个序列中的相同位置相等并输出 回答“这两个序列的x位置具有相同的 字符”。x是实际数字,取决于用户的 输入。

以下是我目前所掌握的内容。

g=input('Enter DNA Sequence: ')
h=input('Enter Second DNA Sequence: ')

i=0
count=0

if len(g)!=len(h):
        print('Invalid')
else:
    while i<=len(g):
        if g[i]==h[i]:
            count+=1
        i+=1
print(count)

最佳答案

在 while 循环中执行此操作(在实际代码中选择更好的变量名称):

for i, j in zip(g, h):
    if i == j:
        count += 1

或者将循环完全替换为

count = sum(1 for i, j in zip(g, h) if i == j)

这将修复您的索引错误。一般来说,你不应该在 python 中索引列表,而应该循环它们。如果您确实想要对它们进行索引,则 i <= len(g)是问题所在...应该更改为 i < len(g) .


如果你想变得非常棘手,你可以使用 True == 1 这个事实和False == 0 :

count = sum(int(i == j) for i, j in zip(g, h))

关于python - 我需要计算 python 中同一位置的类似字符,但我不知道如何正确计算,因为我是该程序的新手,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19237543/

相关文章:

python - 我可以使用 pip install 为其他用户安装模块吗?

python - 如何向 3D 表面添加文本

linux - 如何将原始字符串转换为变量(变量 --> $变量)?

json - 如何使用 String() 方法将嵌入式结构正确序列化为 JSON 字符串?

string - Swift - 从核心数据中获取字符串并以 UTF8 格式转换

regex - R中位置序列的长度(以字符串形式给出)

Python pymySQL 字符串引号

python - 无法通过 __getattr__( __getattribute__ ) 调用 __add__

mysql - 获取 MySQL 中具有特定值的列的计数

java - "Character Count Java Program"有问题