PTA 编程技术作业-3

4 篇文章 1 订阅
2 篇文章 0 订阅
# 输出不重复的字符
x = input()
a=[]
for i in x:
    if not i in a:
        a.append(i)
    else:
        pass
print("".join(a[0:10]))

# 找列表中最大元素的下标
a = input("")
if a=="":
    print()
else:
    li = a.split(",")       # 通过指定分隔符","切片
    if len(li)==1:
        print(0)
    else:
        li2 = []
        for i in li:
            li2.append(int(i))
        li2.sort()
        maxInt = li2[len(li2)-1]
        for i in range(0,len(li)):
            if int(li[i]) == maxInt:
                print(i)

# 删除列表中的重复值
s = input("")
li = eval(s)
li2=[ele for ele in reversed(li)]   # ele for ele in reversed(li) 翻转列表
li = []
for i in li2:
    if i not in li:
        li.insert(0,i)
print(li)

# 统计字符串列表中每个字母出现的次数
s = input('')
li = eval(s)
dict = {}       # 键唯一
for i in li:
    for j in i:
        if j not in dict.keys():
            dict[j] = 1
        else:
            dict[j] = dict[j] + 1
for i in sorted(dict):
    print(i, dict[i], sep=',')

# jmu-python-异常-学生成绩处理中级版
n = int(input())
num = n
sum_grade = 0
flag = True
err_grade = ""
err_list = []
while n:
    try:
        err_grade = input()
        grade = int(err_grade)
        sum_grade += grade
        n = n-1
    except:
        flag = False
        err_list.append(err_grade)
if flag:
    print("All OK")
else:
    for grade in err_list:
        print("Error for data %s! Reinput" % grade)
print("avg grade = %.2f" % (sum_grade/num))


# 下标异常
s = input("")
try:
    i = int(input())
except:
    print("输入下标有误")
else:
    try:
        print(s[i])
    except:
        print("输入下标有误")

#  往返跑方阵
def f(n):
    list1 = []
    for i in range(n):
        li = []
        list1.append(li)
    a = 1
    lie1 = n
    while lie1>0:
        if n%2!=0:
            if lie1 % 2 != 0:
                for j in range(n):
                    list1[j].insert(0, a)
                    a += 1
            else:
                for j in range(n):
                    list1[0 - j - 1].insert(0, a)
                    a += 1
        else:
            if lie1 % 2 == 0:
                for j in range(n):
                    list1[j].insert(0, a)
                    a += 1
            else:
                for j in range(n):
                    list1[0 - j - 1].insert(0, a)
                    a += 1
        lie1-=1
    return list1

nn = int(input(""))
for i in f(nn):
    for j in i:
        print("%3d" % j, end="")
    print()

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值