文章目录
前言
一、错位键盘🚩
🪐问题描述
🪐问题分析
🪐代码实现
import sys
s=sys.stdin.readline().strip().split()
indexarr=[0]*255
# 将所有数据存放进一个数组,将键盘上相邻的两个字母在数组中以索引的形式相连
mystr="`1234567890-=QWERTYUIOP[]\\ASDFGHJKL;'ZXCVBNM,./"
# 将每一位字母的索引存储起来。供以后遍历输入的数据使用
for i in range(len(mystr)):
indexarr[ord(mystr[i])]=i
flag=True
#遍历输入的n段字符串
for line in s:
if flag:
flag=False
for i in line:
print(mystr[indexarr[ord(i)]-1],end="")
else:
print(" ",end="")
for i in line:
print(mystr[indexarr[ord(i)]-1],end="")
二、单词的平均长度🚩
这一题使用Python做超级简单
使用c语言做的话先进行空格统计,如果空格后面不为空格就进行单词数加1
如果空格后面依旧是空格向下遍历,如果一个位置不为空格就进行字母数加1
最终要将单词数额外加1,因为首尾单词循环的时候只统计进去了一个。
🪐问题描述
🪐问题分析
🪐代码实现
import sys
num=0
n=0
# 这里使用strip()去除输入的末尾换行符
# 使用split()进行字符串分段最后得到的是一个列表形式
mystr=sys.stdin.readline().strip().split()
for i in mystr:
num+=len(i)
n+=1
print(num/n)
三、字母重排🚩
🪐问题描述
🪐问题分析
🪐代码实现
import sys
# 元字典序字符串
mydic=list(sys.stdin.readline().strip().split())
mydic=sorted(mydic)
words=sys.stdin.readline().strip().split()
# 排序后的字符串
newdic=[]
newwords=[]
for i in mydic:
# 字符串不可以直接排序,先转换成字典,然后进行排序
newdic.append("".join(sorted(i)))
for i in words:
newwords.append("".join(sorted(i)))
flag=False
i=0
while i<len(newdic):
if newdic[i] in newwords:
if not flag:
print(mydic[i],end="")
flag=True
else:
print(" ",mydic[i],end="")
i+=1
if not flag:
print(0)
四、Tex括号问题🚩
🪐问题描述
🪐问题分析
🪐代码实现
import sys
s=sys.stdin.readline().strip()
flag=True
for i in s:
if i=="'" or i=="\"":
if flag:
print("“",end="")
else:
print("”",end="")
flag=not flag
continue
print(i,end="")