这次我卡在了第二部分。我以为会更容易,但最终我得到了一堆语法错误。程序如下:
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/