sdut-python-实验二-程序流程控制(11-20)

sdut-python-实验二-程序流程控制(11-20) 7-11 sdut-入门-4 AB for Input-Output Practice (IV)分数 10作者 周雪芹单位 山东理工大学你的任务是计算一些整数的和。输入格式:输入包含多个测试用例。每个测试用例包含一个整数N然后在同一行中跟随N个整数。以0开始的测试用例终止输入并且这个测试用例不被处理。输出格式:对于每一组输入整数您应该在一行中输出它们的和输入的每一行都有一行输出。输入样例:在这里给出一组输入。例如4 1 2 3 45 1 2 3 4 50输出样例:在这里给出相应的输出。例如1015代码长度限制实现代码while True: s0 n[int(num) for num in input().split()] if n[0]0: break del n[0] print(sum(n))7-12 sdut-入门-5 AB for Input-Output Practice (V)分数 10作者 周雪芹单位 山东理工大学你的任务是计算一些整数的和。输入格式:输入包含一个整数N在第一行然后N行。每一行以一个整数M开始然后在同一行中跟随M个整数。输出格式:对于每一组输入整数您应该在一行中输出它们的和输入的每一行都有一行输出。输入样例:在这里给出一组输入。例如24 1 2 3 45 1 2 3 4 5输出样例:在这里给出相应的输出。例如1015实现代码nint(input()) while n: n-1 numbers[int(num) for num in input().split()] del numbers[0] print(sum(numbers))7-13 sdut-九九乘法表分数 10作者 周雪芹单位 山东理工大学《九九乘法歌诀》又常称为“小九九”,如下图所示。你的任务是写一个程序对于给定的一个正整数 n 输出“九九乘法表”的前 n 行。例如输入 n 为 9你的程序的输出将为下图输入格式:输入包含多组测试数据每组测试数据只包含一个正整数 n (0 n 10)。输出格式:对于每组测试数据输出上图所示“九九乘法表”的前 n 行。每个等式中乘法计算的结果即等号后面的整数占2位数的位置左对齐。一行内每个等式之间有一个空格行后没有空格。每组测试数据之后加1个空行。输入样例:236输出样例:在这里给出相应的输出。例如1*111*22 2*241*111*22 2*241*33 2*36 3*391*111*22 2*241*33 2*36 3*391*44 2*48 3*412 4*4161*55 2*510 3*515 4*520 5*5251*66 2*612 3*618 4*624 5*630 6*636代码长度限实现代码while True: try: nint(input()) for i in range(1,n1): for j in range(1,i1): if i!j: print(f{j}*{i}{j*i},end ) else: print(f{j}*{i}{j*i},end\n) except: break7-14 sdut-平方数I分数 10作者 周雪芹单位 山东理工大学飞飞特别喜欢平方数可是他数学并不好你能帮他计算n与m之间所有平方数之和吗提示若一个整数的开方还是整数它就是平方数。例如4、9、16、25是平方数。输入格式:第一行 T 代表数据的组数。接下来有 T 行每行两个整数n,m (0 n, m 100000000), n、m数值大小不确定。输出格式:对于每行输入输出一个整数代表所求区间内平方数之和。输入样例:31 43 1017 20输出样例:在这里给出相应的输出。例如5130实现代码nint(input()) while n: n-1 x,ymap(int,input().split()) x,ymin(x,y),max(x,y) sum0 for i in range(x,y1): if iint(i**0.5)**2: sumi print(sum)7-15 sdut-求交错序列前N项和分数 10作者 周雪芹单位 山东理工大学编写程序计算交错序列 1-2/33/5-4/75/9-6/11... 的前N项之和。输入格式:在一行中给出一个正整数N。输出格式:在一行中输出部分和的值结果保留三位小数。提示在Python中输出数值格式化的方式可以有多种如print({:.3f}.format(sum)) #方式1其中sum为变量print(%.3f %(sum) ) #方式2其中sum为变量输入样例:5输出样例:0.917实现代码nint(input()) sum0 for i in range(1,n1): if i%20: sum-i/(2*i-1) else: sumi/(2*i-1) print(%.3f%sum)7-16 sdut-生成输入数的乘方表分数 10作者 周雪芹单位 山东理工大学输入一个非负数和正整数n3n10生成一张输入数的乘方表并输出。输入格式:在一行输入一个非负数和正整数n中间有一个空格。输出格式:按照幂的递增顺序输出n1行计算结果保留2位小数。输入样例1:2.5 3输出样例1:2.5**01.002.5**12.502.5**26.252.5**315.62输入样例2:1 5输出样例2:1.0**01.001.0**11.001.0**21.001.0**31.001.0**41.001.0**51.00实现代码x,ymap(float,input().split()) yint(y) for i in range(0,y1): print(f{x}**{i}{x**i:.2f})7-17 sdut-水仙花数分数 10作者 周雪芹单位 山东理工大学水仙花数是指一个N位正整数N≥3它的每个位上的数字的N次幂之和等于它本身。 例如1531×1×15×5×53×3×3。请计算所有N位水仙花数。输入格式:在一行内给出一个正整数N3≤N≤5。输出格式:按递增顺序输出所有N位水仙花数每个数字占一行。输入样例:在这里给出一组输入。例如3输出样例:在这里给出相应的输出。例如153370371407实现代码def fun(x): sum0 tx while x: yx%10 x//10 sumy**n return sumt nint(input()) for i in range(10**n//10,10**n): if fun(i): print(i)7-18 sdut-最大公约数和最小公倍数分数 10作者 周雪芹单位 山东理工大学给定2个正整数求它们的最大公约数和最小公倍数并输出。输入格式:输入有若干组。每组数据在一行中给出两个正整数M和N中间有1个空格。输出格式:对于每组输入在一行中顺序输出M和N的最大公约数和最小公倍数两数字间以1个空格分隔。输入样例:18 1220 1539 265 7645 251993 343输出样例:在这里给出相应的输出。例如6 365 6013 781 3805 2251 683599实现代码while True: try: x,ymap(int,input().split()) zx*y while y: ty yx%y xt print(x,z//x) except: break7-19 sdut-求满足条件的斐波那契数分数 10作者 周雪芹单位 山东理工大学斐波那契数亦称之为斐波那契数列指的是这样一个数列1、1、2、3、5、8、13、21、……这个数列从第3项开始每一项都等于前两项之和。求大于输入数的最小斐波那契数。输入格式:在一行输人一个正整数n(n10)。输出格式:在一行输出大于n的最小斐波那契数。输入样例:10输出样例:13实现代码nint(input()) a1 b1 while bn: ta ab bt print(b)7-20 sdut-冒泡排序中数据交换的次数分数 10作者 周雪芹单位 山东理工大学听说过冒泡排序么一种很暴力的排序方法。今天我们不希望你用它来排序而是希望你能算出从小到大冒泡排序的过程中一共进行了多少次数据交换。输入格式:第一行为一个正整数 T 表示有 T 组测试数据。接下来T行每行第一个整数N, 然后有N个整数无序。0N 100。输出格式:输出共 T 行。每行一个整数代表本行数据从小到大冒泡排序所进行的交换次数。输入样例:35 1 2 3 4 54 5 3 7 12 2 1输出样例:041实现代码def fun(arr): sum0 xlen(arr) for i in range(x): for j in range(x-i-1): if arr[j]arr[j1]: arr[j],arr[j1]arr[j1],arr[j] sum1 return sum nint(input()) while n: n-1 nums[int(num) for num in input().split()] del nums[0] print(fun(nums))