Python 我的代码没有';一个字符不允许2次(如何修复)
我需要写一个代码来计算一个单词中的封闭区域的数量(因此B有两个封闭区域),但是当一个字符在一个问题中出现两次时,它只计算一次 我尝试了一些应该计算字符数的方法,但这只会给我更多的错误Python 我的代码没有';一个字符不允许2次(如何修复),python,repl.it,Python,Repl.it,我需要写一个代码来计算一个单词中的封闭区域的数量(因此B有两个封闭区域),但是当一个字符在一个问题中出现两次时,它只计算一次 我尝试了一些应该计算字符数的方法,但这只会给我更多的错误 G = 0 Chosen_word = str(input("Choose a word of max 60 character(only uppercase)")) if "A" in Chosen_word: U = U + 2 G = G + 1 如果您键入AA,它应该打印4个端点en 2闭合区域,
G = 0
Chosen_word = str(input("Choose a word of max 60 character(only uppercase)"))
if "A" in Chosen_word:
U = U + 2
G = G + 1
如果您键入AA,它应该打印4个端点en 2闭合区域,但它打印2个端点en 1闭合区域
G = 0
U=0
Chosen_word = str(input("Choose a word of max 60 character(only uppercase)"))
n = Chosen_word.count("A")
U = n * 2
G = n
print (U)
print (G)
输出:
Choose a word of max 60 character(only uppercase)SADDSAAAA
10
5
您只需通过此代码一次-第一个字母。要遍历每个字母,需要使用一个循环(此处最好是遍历每个字符的
for
循环):
我很难理解你的问题。请提供一些输入和输出示例,以便我们能够看到模式。“en”代表“and”?嗨,欢迎来到StackOverflow!请注意,否决票并不意味着你要解决的不是一个好问题;我们用它们来表示你的问题应该编辑得更清楚。我个人很困惑,因为我不知道
U
的初始值是什么。谢谢你的帮助,现在就编辑整个代码。如果你不想写那么多if
/elif
分支,你可以使用的一种技术是预先编一本字典:dct={a':{U':2。'G':1},B':…}然后,在
for`循环中,从字典中检索,而不是使用条件句(例如,U+=dct[letter]['U'];g+=dct[letter]['g']
),而这段代码可能会回答这个问题,提供关于如何和/或为什么解决这个问题的额外上下文将提高答案的长期价值。
for letter in chosen_word:
if letter == 'A':
U = U + 2
G = G + 1
elif letter == 'B':
...