python - 使用数组分析输入并将其用作 Python 输入中数组列表的计数器

标签 python arrays counter

这次我卡在了第二部分。我以为会更容易,但最终我得到了一堆语法错误。程序如下:

def main():

    Characters = ["A", "B", "C", "D", "E", "F", "G"\
                  , "H", "I", "J", "K", "L", "M", "N"\
                  , "O", "P", "Q", "R", "S", "T", "U", "V"\
                  , "W", "X", "Y", "Z"]

    text = (input("Type Something:  ")).upper()
    text2 = text.partition("!")[0]

    print(text2) #Utilizing it to make sure program is cutting the string once it 
                        #reaches an exclamation point

    for i in range(len(text2)):
        print(i, text2[i])

    A = 0
    B = 0
    C = 0
    D = 0
    E = 0
    F = 0
    G = 0
    H = 0
    I = 0
    J = 0
    K = 0
    L = 0
    M = 0
    N = 0
    O = 0
    P = 0
    Q = 0
    R = 0
    S = 0
    T = 0
    U = 0
    V = 0
    W = 0
    X = 0
    Y = 0
    Z = 0
    other = 0

main()

我需要帮助将数组应用到计数器中。我在想:

for y in text2:
            if Characters["A"] in text2:
                A+=1
        print(y)

但是之后我遇到了很多错误。我有一个早期版本,但如果计算所有单位而不是特定单位。在我看来,我有一种感觉,我将不得不使用计数器的 len 函数,但我无法考虑在哪里。有人可以解释一下这样的正确编程和 len 函数的正确使用吗?感谢任何提供帮助的人。

很抱歉问了一个令人困惑的问题

*老虎! Storm *

程序只读:TIGER

然后我想做的是编写一段代码,其中程序将计算输入中的每个字母。因此,利用数组应该产生一个计数:T=1,I=1,G=I,E=1,R=1 但是,为计数器编写程序是我遇到的问题。

最佳答案

认为您想要做的是计算每个字母在text2中出现的频率。如果是这样的话,那么这里就有很多问题了。

首先,别再说数组了。这些是您正在使用的列表。数组在 Python 中并不常见。

其次,您已经编写了 if Characters["A"]。这没有任何意义。列表按整数索引。你必须说if Characters[0]。因此,要修复您的代码,您必须执行类似的操作

for c in text2
    if c == Characters[0]:
        A += 1
    if c == Characters[1]:
        B += 1
    ...
    if c == Characters[25]:
        Z += 1

但这完全是错误的做法。

您可能应该使用字典string 模块中还有一些有用的属性,可以帮助您省去写出每个字符的麻烦。

这样的事情会容易得多。

import string

text = (input("Type Something:  ")).upper()
text2 = text.partition("!")[0]

chars = {}
for c in string.uppercase:
    chars[c] = 0

for c in text2:
    chars[c] += 1

print chars

还有更紧凑的方法可以完成此类事情。但这对你来说应该是比较清楚的。请不要编写 26 个 if 语句并使用 26 个变量。

关于python - 使用数组分析输入并将其用作 Python 输入中数组列表的计数器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8191637/

相关文章:

python - 填写并提交 html 表单

c - 将多维数组与通用函数一起使用

python - 第一次达到某个数字时递增计数器

python - 如何制作具有不同索引数量和顺序的三组字典中的三列的条形图?

python - sc2 python ,断言错误 : Unsupported pixel density

python - TensorFlow DNNClassifier 特征专栏

Python - 根据数组值将数组拆分为多个数组

c++ - 动态二维数组 : int (*ptr)[4] = new int[7][4];

C++ 添加对象到数组

java - map 上的条件减少计数器以控制 map 输出