卡码网python语言基础课 | 题目 9.10总结

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))

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值