计算Python字符串的唯一字符总数 [英] Counting total number of unique characters for Python string
问题描述
对于上述问题,我深陷其中.到目前为止,我想出的代码是:
For my question above, I'm terribly stuck. So far, the code I have come up with is:
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.回到主要(count_bases)函数,我计算'A','T','C','G'的数量
4.对4个不同的基数使用4条if-else语句.
My line of thinking is that I first:
1. Ask user to enter the DNA bases (ATCG)
2. Change the user input into a list
3. Going back to the main (count_bases) function, I count the number of 'A', 'T', 'C', 'G'
4. Use 4 if-else statements for the four different bases.
到目前为止,我的代码仅适用于列表中用户输入的输出.之后,会弹出一个错误.
如果有人可以向我指出正确的道路,请多加赞赏!
谢谢.
So far, my code only works up to the output of the user's input into a list. After that, an error just pops up.
Appreciate it if someone can point the right path out to me!
Thanks.
推荐答案
- 您的函数get_user_input()没有返回值
- get_user_input.count('A')包含一个函数调用,如果没有括号,它将无法使用.正确:
get_user_input().count('A')
- 如评论中所述,get_user_input()仅应调用一次,因为用户输入将通过
input()
函数在每次调用时收集.
- Your function get_user_input() has no return value
- get_user_input.count('A') contains a function call, it will not work without parenthesis. Correct:
get_user_input().count('A')
- As mentioned in the comments, get_user_input() should only be called once since the users input will be collected at each call via the
input()
function.
这应该有效:
def count_bases():
char_list = get_user_input()
for char in 'ATCG':
char_count = char_list.count(char)
if char_count < 1:
print(char + " not found")
else:
print(char + " count: " + str(char_count))
def get_user_input():
one = input("Please enter DNA bases: ")
two=list(one)
return two
这篇关于计算Python字符串的唯一字符总数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!