def letter(x):
if x == 1:
x = "A"
elif x == 2:
x = "C"
elif x == 3:
x = "G"
elif x == 4:
x = "T"
else:
print "Error"
randint18= random.randrange(1,5)
letter(randint18)
print randint18 `
import random
def letter(x):
if x == 1:
x = "A"
elif x == 2:
x = "C"
elif x == 3:
x = "G"
elif x == 4:
x = "T"
else:
print "Error"
return x # return it here
randint18= random.randrange(1,5)
randint18 = letter(randint18) # capture the returned value here
print randint18
letter = ['A', 'C', 'G', 'T']
randint18 = random.randrange(0,4)
try: # in case your random index were allowed to go past 3
mapping = letter[randint18]
except IndexError:
mapping = 'Error'
print mapping
不能就地更改变量,必须返回变量并捕获返回值。你知道吗
有一个更简单的方法来实现您想要的,使用字典映射值。你知道吗
我的不是一个正确的答案,这已经提供了,但一个改进您的代码的建议。我会在评论中这样做,但代码格式不够好。你知道吗
为什么不使用字典来进行映射,而不是一系列的if?如果您愿意,也可以将其放置在函数中:
请注意,如果映射从零开始,列表将更加有效:
必须从函数返回值,并将其赋给变量。你知道吗
相关问题 更多 >
编程相关推荐