[英]What causes this NameError? Python 3.x
我的代碼是rosalind.info網站上的IPRB問題。 對於變量k,m,n的示例數據集值2、2、2可以很好地工作。 但是,當我將變量更改為25、25、19之類時,它給出以下信息:
C:\Users\mNm\PycharmProjects\PySummer\venv\Scripts\python.exe C:/Users/mNm/PycharmProjects/PySummer/venv/Scripts/IPRB.py
Traceback (most recent call last):
File "C:/Users/mNm/PycharmProjects/PySummer/venv/Scripts/IPRB.py", line 43, in <module>
pr3 = float(pr31 + pr32 + pr33)
NameError: name 'pr31' is not defined
Process finished with exit code 1
我找不到任何嘗試的方法,也不知道是什么引起了問題。
謝謝你
k = 2
m = 2
n = 2
whole = k + m + n
org = [k, m, n]
for i in org:
if i == k:
k_start = float(k/whole)
for j in org:
if j == k:
pr11 = float(k_start * ((k - 1) / (whole - 1)))
if j == m:
pr12 = float(k_start * (m / (whole - 1)))
if j == n:
pr13 = float(k_start * (n / (whole - 1)))
pr1 = float(pr11 + pr12 + pr13)
if i == m:
m_start = float(m/whole)
for j in org:
if j == k:
pr21 = float(m_start * (k / (whole - 1)))
if j == m:
pr22 = float(m_start * ((m - 1) / (whole - 1)) * 0.75)
if j == n:
pr23 = float(m_start * (n / (whole - 1)) * 0.5)
pr2 = float(pr21 + pr22 + pr23)
if i == n:
n_start = float(n / whole)
for j in org:
if j == k:
pr31 = float(n_start * (k / (whole - 1)))
if j == m:
pr32 = float(n_start * (m / (whole - 1)) * 0.5)
if j == n:
pr33 = float(n_start * ((n - 1) / (whole - 1)) * 0)
pr3 = float(pr31 + pr32 + pr33)
dom_pr = float(pr1 + pr2 + pr3)
print(dom_pr)
僅當i==n
並且org
某個值等於k
才定義pr31
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.