PTA 浙大版《Python 程序设计》题目集第三章6-10题

本文通过Python代码示例,展示了如何求解整数序列中出现次数最多的数、寻找最大值及其下标、字符串逆序、将十六进制字符串转换为十进制整数、统计大写辅音字母等数据处理问题,适合初学者练习和理解基本算法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第3章-6 求整数序列中出现次数最多的数

set=set()
list=input().split(" ")
#print(len(list))
map={}
#print(map[0])
for i in range(1,len(list)):
    set.add(int(list[i]))
    map[int(list[i])]=map.get(int(list[i]),0)+1
ans=-1
sum=0
for i in set:
    if map[i]>sum:
        sum=map[i]
        ans=i
print("{:d} {:d}".format(ans,sum))

第3章-7 求最大值及其下标 

n=int(input())
list=input().split(" ")
idx=0
num=int(list[idx])
for i in range(1,n):
    if num<int(list[i]):
        num=int(list[i])
        idx=i
print("{:d} {:d}".format(num,idx))

第3章-8 字符串逆序

s=input()
for i in range(-1,-len(s)-1,-1):
    print(s[i],end="")

第3章-9 字符串转换成十进制整数

s=input()
list=[]
firstidx=-1
lesszeroidx=-1
for i in range(len(s)-1,0,-1):
    #print(i)
    if s[i]=='-':
        lesszeroidx=i
    if s[i]>='0' and s[i]<='9':
        list.append(s[i])
        firstidx=i
    if s[i]>='A' and s[i]<='F':
        list.append(s[i])
        firstidx=i
    if s[i]>='a' and s[i]<='f':
        list.append(s[i])
        firstidx=i
sum=0
#print(list)
for i in range(0,len(list)):
    if list[i]>='0' and list[i]<='9':
        sum=sum+int(list[i])*(16**i)
    if list[i]=='A' or list[i]=='a':
        sum=sum+10*(16**i)
    if list[i]=='B' or list[i]=='b':
        sum=sum+11*(16**i)
    if list[i]=='C' or list[i]=='c':
        sum = sum + 12 * (16 ** i)
    if list[i]=='D' or list[i]=='d':
        sum=sum+13*(16**i)
    if list[i]=='E' or list[i]=='e':
        sum=sum+14*(16**i)
    if list[i]=='F' or list[i]=='f':
        sum=sum+15*(16**i)
if lesszeroidx != -1 and firstidx!=-1 and lesszeroidx<firstidx:
    sum=-sum
print(sum)

第3章-10 统计大写辅音字母

s=input()
ans=0
for i in s:
   if not(i=='A' or i=='E' or i=='I' or i=='O' or i=='U') and not(i == 'a' or i == 'e' or i == 'i' or i == 'o' or i == 'u') and i.isupper():
      #print(i)
      ans+=1
print(ans)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值