PTA的Python练习题(十八)】的更多相关文章

从 第3章-15 统计一行文本的单词个数 继续 1. s = input() count=0 for c in s: if c==' ': count=count+1 if c=='.': break print(count+1) 2. 字符串是没有下标的,所以C语言常用的冒泡法这里不能用 a=input() b='' for i in a: if i not in b: b=b+i c=list(b) c.sort() d=''.join(c) print(d) 所以这里用了很多强制类型转换,…
第4章-20 求矩阵各行元素之和 遇到一个麻烦的事情: 上面a,b输入,如果一起输入转int会报错,因为int只能一对一 但是明明我分开来int了,下面第十行还是报错说我的b是string字符,难不成b还把空格吃进去了? 参考一种聪明的算法: length, width = input().split() length = int(length) width = int(width) sum1 = 0 index = 1 l = [] while 1: a = input().split() d…
第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…
第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:{…
第4章-10 最大公约数和最小公倍数 m,n=map(int,input().split()) min=0 a=b=0 if m >n: min=m else: min=n for i in range(1,min+1): if m%i==0: if n%i==0: a=i b=(m/a)*n print('{:d} {:.0f}'.format(a,b)) 第4章-11 判断素数 a=eval(input()) li=[] flag=0 for i in range(a): li.append…
第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输入只能实现一行一行输入,不能实现同一行输入 知识点(列表的操作): """ ①实现嵌套列表的…
接下来应该做到 第4章-6 输出前 n 个Fibonacci数 了 def fib(n): a,b = 0,1 for i in range(n+1): a,b = b,a+b return a n=int(input()) if(n>0): for i in range(0,n): print('{:11d}'.format(fib(i)),end="") if((i+1)%5==0): print("\n") else: print("Inval…
从 第3章-22 输出大写英文字母 开始 1. a=str(input()) b='' for i in a: if 'A'<=i<='Z' and i not in b: b=b+i if len(b)>0: print(b) else: print('Not Found') 2. a=eval(input()) for i in range(a+1): n=3**i print('pow(3,{}) = {}'.format(i,n)) 3. 判断素数: 思路1):因此判断一个整数m…
继续在PTA上编写Python的编程题. 从 第2章-11 求平方与倒数序列的部分和 开始 1. a,b=map(int,input().split()) s=0 while(a<=b): s=s+a*a+1/a a=a+1 print('sum = %.6f' %(s)) 2. 这道题要引入math函数 import math a,b,c=map(int,input().split()) if((a+b)<c or (a+c)<b): print('These sides do not…
继续在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=…