【发布时间】:2019-12-13 02:36:47
【问题描述】:
我已将此问题视为重复问题(到目前为止,我的所有问题似乎都是重复的)
我的代码
#UAA + UAG + UGA = STOP
n = 3
xdict = {
"Phenylalanine": ["UUU", "UUC"],
"Leucine": ["UUA", "CUU", "CUC", "CUA", "CUG", "UUG"],
"Isoleucine": ["AUU", "AUC", "AUA"],
"Methionine": "AUG",
"Valine": ["GUU", "GUC", "GUA", "GUG"],
"Serine": ["UCU", "UCC", "UCA", "UCG"],
"Proline": ["CCU", "CCC", "CCA", "CCG"],
"Threonine": ["ACU", "ACC", "ACA", "ACG"],
"Alanine": ["GCU", "GCC", "GCA", "GCG"],
"Tyrosine": ["UAU", "UAC"],
"Histidine": ["CAU", "CAC"],
"Glutamine": ["CAA", "CAG"],
"Asparagine": ["AAU", "AAC"],
"Lysine": ["AAA", "AAG"],
"Asparatic Acid": ["GAU", "GAC"],
"Glutamic Acid": ["GAA", "GAG"],
"Cysteine": ["UGU", "UGC"],
"Trytophan": "UGG",
"Arginine": ["CGU", "CGC", "CGA", "CGG", "AGG", "AGA"],
"Serine": ["AGU", "AGC"],
"Glycine": ["GGU", "GGC", "GGA", "GGG"]
}
lookup_dict = {k: key for key, values in xdict.items() for k in values}
a = input("Enter your DNA sequence: ")
a = a.upper()
print("Your DNA sequence is", a)
str(a)
RNA = a.replace("C", "G")
RNA = a.replace("A", "U")
RNA = a.replace("T", "A")
print("Your RNA strand is", RNA)
b = len(a)
if b % 3 == 0:
for k in [a[i:i + n] for i in range(0, len(a), n)]:
if k in xdict.values(): #checking from other question
print(lookup_dict[k], end=" ")
elif k not in xdict.values(): #checking from other question
print("I hate u")
elif b % 3 != 0:
print("Try again.")
我已经尝试了来自this 链接的答案,但它对我不起作用。 python 如何检测一个值是否在字典中?
【问题讨论】:
-
@cricket_007 我会编辑以便检查清楚。
-
请注意,您处理单个值将需要额外的代码。您可以将它们放在 1 的列表中以保持一致。另请注意,遍历字符串会为您提供单个字符——可能不是有意的。 (也可以通过将其放入 1 列表中来修复)
-
如果相同的序列碰巧出现在两个不同列表中的某处,您也可能会遇到问题。查找字典只能记住其中一个,除非它还有值列表。
-
如果您不请求输入会有所帮助。相反,请准确说出您要寻找的价值,这样我们就可以具体了解为什么找不到它。
-
这些数据是从哪里来的?这当然不理想。
标签: python python-3.x dictionary