【发布时间】:2024-01-23 11:30:01
【问题描述】:
对于我上面的问题,我非常困惑。到目前为止,我想出的代码是:
def count_bases():
get_user_input()
amountA=get_user_input.count('A')
if amountA == 0:
print("wrong")
else:
print ("right",amountA)
def get_user_input():
one = input("Please enter DNA bases: ")
two=list(one)
print(two)
我的思路是我先:
1. 要求用户输入 DNA 碱基 (ATCG)
2.将用户输入改为列表
3. 回到main(count_bases)函数,我统计'A'、'T'、'C'、'G'的个数
4. 对四个不同的基数使用 4 个 if-else 语句。
到目前为止,我的代码只能将用户输入的输出输出到列表中。之后,就会弹出一个错误。
如果有人可以为我指出正确的道路,我们将不胜感激!
谢谢。
【问题讨论】:
-
这是什么错误?还有,你为什么注释掉第一个
def -
文件“XXX”,第 98 行,在
count_bases() 文件“XXX”,第 74 行,在 count_bases amountA=get_user_input.count('A') AttributeError: 'function' object has没有属性“计数” -
您似乎对函数的使用有误解。在这里读一点,w3schools.com/python/python_functions.asp,如果你想使用
.count('A'),你需要使用return语句,然后将其保存到变量中 -
这段代码有很多问题。
get_user_input是一个函数,但不返回任何值。您可能需要返回two并将其分配给main中的新名称。你对函数如何工作的误解......你能想象一个有数千个函数的程序吗?您希望如何使用函数调用的结果?甚至两次调用一个函数? -
我将不胜感激更多有用的建议,谢谢!不幸的是,由于我是 python 的初学者,我根本无法想象一个具有数千个函数的程序。 @彼得伍德
标签: python python-3.x list if-statement split