簡體   English   中英

DNA序列Python不打印

[英]DNA Sequence Python not printing

import random


def pair():
    base = random.choice('AGCT')
    if base == 'A':
        base = base + 'G'
    elif base == 'G':
        base = 'A' + base
    elif base == 'C':
        base = base + 'T'
    else:
        base = 'C' + base
    return base


def sequence():
    pair()
    n = random.randint(1, 3)
    print(base * n)


def main():
    pair()
    sequence()
    pair()
    sequence()
    pair()
    sequence()


main()

我必須在 main 函數中創建三個序列,將它們連接起來形成一個更大的序列,然后打印結果。

但是一直報錯,為什么呢?
回溯(最近一次調用最后一次):

 File "/Users/nicole/Desktop/CS/dna.py", line 33, in <module> main() File "/Users/nicole/Desktop/CS/dna.py", line 27, in main sequence() File "/Users/nicole/Desktop/CS/dna.py", line 23, in sequence print(base * n) NameError: name 'base' is not defined

您需要為base分配一個值。 在您的情況下,它看起來像這樣:

def sequence():
    base = pair()
    n = random.randint(1, 3)
    print(base * n)

你應該盡量避免多次使用一個變量名,這樣你就可以更容易地閱讀你的代碼。 :)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM