python 中的连续字母
Consecutive letters in python
我试图在输入的字符串中查找连续的字母:
如果一个字符串包含三个基于英国标准键盘布局的连续字母,则每三个字母一组的变量将获得 5 分。
例如asdFG 将包含三个连续的集合。大写和小写无关紧要。
你能帮忙吗,因为不知道从哪里开始?
最简单的方法是首先生成所有可能的三元组:
lines = ["`1234567890-=", "qwertyuiop[]", "asdfghjkl;'\", "<zxcvbnm,./"]
triples = []
for line in lines:
for i in range(len(line)-2):
triples.append(line[i:i+3])
如果您只需要字符而不需要数字和括号等,请将上面的 lines
替换为
lines = ["qwertyuiop", "asdfghjkl", "zxcvbnm"]
现在我们有了所有的三元组,您可以使用 count
检查输入的字符串中出现了多少次三元组。
input_string = input().strip().lower()
score = 0
for triple in triples:
number_of_occurrences = input_string.count(triple)
score += 5 * number_of_occurrences
print(score)
巴姆,给你。它的作用是计算每个三元组在字符串中出现的次数,以便您知道添加 5 点的次数。我们使用 str.lower()
将所有字符转换为小写,因为如您所说,大小写无关紧要。
如果一个字符串包含某个三元组一次还是三次是一样的,那么你可以这样做:
input_string = input().strip().lower()
score = 0
for triple in triples:
if triple in input_string:
score += 5
print(score)
qwerty = 'qwertyuiopasdfghjklzxcvbnm'
inp = 'ASdfqazfghZZxc'
inp_lower = inp.lower()
points = 0
for idx in range(0, len(inp_lower) - 2):
test_seq = inp_lower[idx:idx + 3]
if test_seq in qwerty:
points += 5
print(test_seq, '->', points)
else:
print(test_seq)
我试图在输入的字符串中查找连续的字母:
如果一个字符串包含三个基于英国标准键盘布局的连续字母,则每三个字母一组的变量将获得 5 分。
例如asdFG 将包含三个连续的集合。大写和小写无关紧要。
你能帮忙吗,因为不知道从哪里开始?
最简单的方法是首先生成所有可能的三元组:
lines = ["`1234567890-=", "qwertyuiop[]", "asdfghjkl;'\", "<zxcvbnm,./"]
triples = []
for line in lines:
for i in range(len(line)-2):
triples.append(line[i:i+3])
如果您只需要字符而不需要数字和括号等,请将上面的 lines
替换为
lines = ["qwertyuiop", "asdfghjkl", "zxcvbnm"]
现在我们有了所有的三元组,您可以使用 count
检查输入的字符串中出现了多少次三元组。
input_string = input().strip().lower()
score = 0
for triple in triples:
number_of_occurrences = input_string.count(triple)
score += 5 * number_of_occurrences
print(score)
巴姆,给你。它的作用是计算每个三元组在字符串中出现的次数,以便您知道添加 5 点的次数。我们使用 str.lower()
将所有字符转换为小写,因为如您所说,大小写无关紧要。
如果一个字符串包含某个三元组一次还是三次是一样的,那么你可以这样做:
input_string = input().strip().lower()
score = 0
for triple in triples:
if triple in input_string:
score += 5
print(score)
qwerty = 'qwertyuiopasdfghjklzxcvbnm'
inp = 'ASdfqazfghZZxc'
inp_lower = inp.lower()
points = 0
for idx in range(0, len(inp_lower) - 2):
test_seq = inp_lower[idx:idx + 3]
if test_seq in qwerty:
points += 5
print(test_seq, '->', points)
else:
print(test_seq)