9.打印正方形
题目描述:编写一个程序,模拟打印一个正方形的框。程序应该接受用户输入的正整数作为正方形的边长,并打印相应大小的正方形框。 请注意,内部为空白,外部是由 "*" 字符组成的框。
输入描述:输入只有一行,为正方形的边长 n
输出描述:输出正方形组成的框
n = int(input())
for i in range(n):
for j in range(n):
if i == 0 or j==0 or i ==n-1 or j==n-1:
print("*",end="")
else:
print(" ",end="")
print()
10.平均绩点
题目描述:每门课的成绩分为A、B、C、D、F五个等级,为了计算平均绩点,规定A、B、C、D、F分别代表4分、3分、2分、1分、0分。
输入描述:有多组测试样例。每组输入数据占一行,由一个或多个大写字母组成,字母之间由空格分隔。
输出描述:每组输出结果占一行。如果输入的大写字母都在集合{A,B,C,D,F}中,则输出对应的平均绩点,结果保留两位小数。否则,输出“Unknown”。
while True:
try:
s= input()
sum_grade=0.0
count=0
flag = 1
for char in s:
if char=="A":
sum_grade += 4
count += 1
elif char == "B":
sum_grade += 3
count += 1
elif char == "C":
sum_grade += 2
count += 1
elif char == "D":
sum_grade += 1
count += 1
elif char == "F":
sum_grade += 0
count += 1
elif char == " ":
continue
else:
flag = 0
print("Unknown")
break
if flag:
print("{:.2f}".format(sum_grade / count))
except:
break
11.句子缩写
题目描述:输出一个词组中每个单词的首字母的大写组合。
输入描述:输入的第一行是一个整数n,表示一共有n组测试数据。(输入只有一个n,没有多组n的输入)
接下来有n行,每组测试数据占一行,每行有一个词组,每个词组由一个或多个单词组成;每组的单词个数不超过10个,每个单词有一个或多个大写或小写字母组成;
单词长度不超过10,由一个或多个空格分隔这些单词。
输出描述:
请为每组测试数据输出规定的缩写,每组输出占一行。
def change_char(a):
if "a" <= a <= "z":
a = chr(ord(a)-32)
return a
n = int(input())
while True:
try:
for i in range(n):
res = ""
words = input().split()
for word in words:
res += change_char(word[0])
print(res)
except:
break
12.位置互换
题目描述:给定一个长度为偶数位的字符串,请编程实现字符串的奇偶位互换。
输入描述:输入包含多组测试数据。
输入的第一行是一个整数n,表示有测试数据。(整个输入中,只有一个n)
接下来是n组测试数据,保证串长为偶数位(串长<=50)。
输出描述:请为每组测试数据输出奇偶位互换后的结果,每组输出占一行。
def swap(a,b):
return b,a
n = int(input())
for i in range(n):
chs = list(map(str,input()))
for j in range(0,len(chs)-1,2):
chs[j],chs[j+1] = swap(chs[j],chs[j+1])
print("".join(chs))

被折叠的 条评论
为什么被折叠?



