PTA的Python练习题(五)

昨天耽搁了一天,今天继续

从  第3章-5 字符转换 开始

1.

a=input()
b=""
for i in a:
    if i >=‘0‘ and i <=‘9‘:
        b=b+iprint(int(b))#(写成b=i+b会有倒置输出的问题)

2.

知识点:

python 列表统计元素频数、频率

描述

count() 方法用于统计某个元素在列表中出现的次数。

语法

count()方法语法:list.count(obj)

看这网上也没有简单易懂的答案,都是拿着字典算的题目,就拿着别人的代码修改:

这里def两个函数,一个计算出现频率最多的数字,另一个统计频率,最后一起调用print出来

def max_list(lt):
    temp=0
    for i in lt:
        if lt.count(i) > temp:
            max_str = i
            temp = lt.count(i)
    return max_str
def max_count(lt):
    a=0
    for i in lt:
        if lt.count(i) > a:
            max_str = i
            a = lt.count(i)
    return a

n = input().split()
print(max_list(n),max_count(n))

3.

知识点:

max() 方法返回给定参数的最大值,参数可以为序列

n = int(input())
nums = list( map(int, input().split()[:n]   )  )
mmax = max(nums)
index = -1
for i in range(n):
    if nums[i] == mmax:
        index = i
        break

print("%d %d" % (mmax, index))

原文地址:https://www.cnblogs.com/echoDetected/p/12275740.html

时间: 2024-11-02 08:51:32

PTA的Python练习题(五)的相关文章

PTA的Python练习题(二十)

(PTA的Python题目4-21到4-30暂未解答,之后会抽时间再回头解答题目)写道题预热一下 这里涉及到字典问题.在Python字典是一系列键-值对,每个键都与一个值相关联,你可以使用键来访问与之相关联的值.事实上,我们可将任何Python对象用作字典中的值.(摘自<Python编程 从入门到实践>)如果我们要获取与键相关的值,可指定字典名和放在方括号内的键. 先定义一个字典,再输入键返回值 Week={'1':'Mon','2':'Tue','3':'Wed','4':'Thu','5'

PTA的Python练习题(十五)

第4章-12 求满足条件的斐波那契数 a=eval(input()) b=c=1 d=1 for i in range(a): c=b b=d d=b+c if d>a: print('{}'.format(d)) break 第4章-13 求误差小于输入值的e的近似值 a=eval(input()) b=1 count=1 count2=0 for i in range(1,100000): b=b*i count2=count count=count+1/b if (count-count2

PTA的Python练习题(二)

继续在PTA上练习Python (从 第2章-5 求奇数分之一序列前N项和  开始) 1. x=int(input()) a=i=1 s=0 while(i<=x): s=s+1/a a=a+2 i=i+1 print('sum = %.6f' %(s)) 2. 求交错级数也考虑了很久,这里要引入flag来计算.有时候表达式写的太繁琐,程序就进入了死循环. n=int(input()) s=a=0 b=-1 flag=1 for i in range(1,n+1): a=a+1 b=b+2 s=

PTA的Python练习题(六)

从 第3章-8 字符串逆序 开始 1. n = str(input()) n1=n[::-1] print(n1) 2. 不是很好做这道题,自己还是C语言的思维,网上几乎也找不到什么答案 s = input() idx = s.find("#") s = s[:idx] ss = s[:idx] s_16 = "0123456789ABCDEFabcdef" for c in s: if c not in s_16: s = s.replace(c, '') fla

PTA的Python练习题(七)

不知不觉一个星期过去了,继续从 第3章-12 求整数的位数及各位数字之和 开始做题 1. 我原来想用题目漏洞做题的,不过想想还是算了自己写个完整的: a=int(input()) b=len(str(a))-1 d=b+1 count=0 for i in range(0,d): c=a/(10**b) c=int(c) e=c-1 count=count+c a=a-10**e*c b=b-1 print('{} {}'.format(d,count)) 这道题的int类型是不能直接求位数的,

PTA的Python练习题(十二)-第4章-7 统计学生平均成绩与及格人数

第4章-7 统计学生平均成绩与及格人数 a=eval(input()) b=list(map(int,input().split())) sum=sum(b) c=[i for i in b if i>=60] count=len(c) print('average = %.1f'%(sum/a)) print('count = %d'%(count)) 如果这里用append输入只能实现一行一行输入,不能实现同一行输入 知识点(列表的操作): """ ①实现嵌套列表的

PTA的Python练习题(十六)

第4章-15 换硬币 挺难的,这里学到一个range的用法: 也就是说range函数能实现顺序和倒序,取决于step是正是负 count = 0 x = int(input()) a = x // 5 for m in range(a,0,-1): b = (x - (m * 5)) // 2 for n in range(b,0,-1): c = x - (5 * m) - (2 * n) if m > 0 and n > 0 and c > 0: print("fen5:{

Python练习题 023:比后面的人大2岁

[Python练习题 023] 有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁.问第4个人岁数,他说比第3个人大2岁.问第三个人,又说比第2人大两岁.问第2个人,说比第一个人大两岁.最后 问第一个人,他说是10岁.请问第五个人多大? ----------------------------------------------------- 这题真是--用心算就能算出来好吗?好吧,应该又是要训练递归函数,最近这几题总是跟递归纠缠不清.不过,似乎慢慢理解了递归函数的写法了.本题代码如下:

Python练习题4(列表去重):[5,3,4,&#39;ok&#39;,4,3,&#39;abc&#39;,8,52,&#39;ok&#39;]去除列表中重复内容 方法一:使用set 方法二:不使用set,自己写方法

方法一:利用集合去重 1 list1 = [5,3,4,'ok',4,3,'abc',8,52,'ok'] 2 list1=list(set(list1)) 3 print(list1) 方法二:此方法略微冗余,先判断元素是否重复,再将重复元素提取并保存到新列表中,再for 新建的列表元素,删除原列表 1 def list_dup(ls): 2 list2 = [] 3 length = len(ls) #获取列表元素个数 4 for i in range(0,length-1): 5 for