admin管理员组

文章数量:1794759

Python 函数定义与使用练习题

Python 函数定义与使用练习题

第一题:

编写函数,判断一个数是否为素数?并求出所有四位数的素数

import math def sushu(m): k = int(math.sqrt(m)) for i in range(2, k+2): if m % i == 0: break if i == k+1: return True else: return False a=int(input('请输入一个数:')) if a==1: print('1既不是质数也不是合数') else: if sushu(a)==True: print(a,'是素食') else: print(a,'是合数') print('四位数素数为:') n=0 for i in range(1001,10000,2): if sushu(i)==True: if n%30==0: print() print(i,end=' ') n=n+1 第二题

在屏幕上输出 m 行 n 列的由某种符号构成的空心矩形

def dyjz(m,n,a): for i in range(1,m+1): if i==1 or i==m: print(a*n) else: print(a+' '*int((n-2))+a) m= int (input("输入打印行数:")) n= int (input("输入打印列数:")) a= str (input("要打印的字符:")) dyjz(m,n,a) 第三题

生成一个随机小数6*6的矩阵,按第一列升序、第四列降序排序

import random r=[] print('原始矩阵') for i in range(6): s=[] for j in range(6): s.append(round(random.uniform(1,10),2)) r.append(s) for i in r: print(i) print('排序后矩阵') r_new=sorted(r,key=lambda x:[x[0],-x[3]]) for i in r_new: print(i) 相关课后习题使用代码

1。 编写一个函数判断一个数是否为素数,并通过调用该函数求出所有三位数的素数。

2.编写一个函数,求满足以下条件的最大的n值: 3.编写一个函数multi(),参数个数不限,返回所有参数的乘积。

4.编写一个函数,功能是求两个正整数m和n的最大公约数。

5.编写一个函数,调用该函数能够打印一个由指定字符组成的n行金字塔。其中,指定打印的字符和行数n分别由两个形参表示。

6. 十 进制转二进制

7。 回文字符串

参考代码 print('-----------第1题-----------') import math def sushu(m): k = int(math.sqrt(m)) for i in range(2, k+2): if m % i == 0: break if i == k+1: return True else: return False n=0 for i in range(101,1000,2): if sushu(i)==True: if n%10==0: print() print(i,end=' ') n=n+1 print('\\n-----------第2题-----------') def Maxn(): sum=0 n=0 while sum<1000: n=n+1 sum=sum+n*n return n-1 print('满足条件的最大n值为:',Maxn()) print('-----------第3题-----------') def multi(): str=input("输入要计算的参数:") c=1 for item in str.split(): c=c*int(item) print('所输入参数的乘积为:',c) multi() ''' 本部分为批注 def multi(): try: str=input("输入要计算的参数,用空格隔开") c=1 for item in str.split(): #通过for循环可根据特定符号简洁分割字符串,split()无参默认根据空格切割 c=c*int(item)#切割出来的是字符串,需强转成int型,便于运算 print(c) except: print("error") multi() def multi(*num): sum=1 for i in num : sum=sum*i return sum print(multi(2,3,4)) def revser(s): return s[::-1] print ('请输入字符串:',end='') m=input() print(revser(m)) ''' print('-----------第4题-----------') def gys(m, n): if m < n: m, n = n, m while n != 0: temp = m % n m = n n = temp return m a=int(input('请输入m:')) b=int(input('请输入n:')) print('m和n的最大公约数是:',gys(a,b)) print('-----------第5题-----------') def jzt(m,n): for i in range(1,n): print(' '*(20-(i-1)),m*(2*i-1)) a= int (input("输入打印行数:")) b= str (input("要打印的字符:")) jzt(b,a+1) print('-----------第6题-----------') def trans(m): print(bin(m)) #本题直接调用的内置函数 #或使用下列方法: ''' def trans(n): list = [] while n//2 != 0: list.append(n%2) n = n // 2 if n//2 == 0: list.append(n%2) break list.reverse() for t in list: print(t,end='') print() #主函数 trans(int(input("请输入一个数:"))) ''' a=int (input("需要转换的十进制数为:")) trans(a) print('-----------第7题-----------') def huiwen(e): x=0 y=len(e)-1 while x<y: if(e[x] != e[y]): break x+=1 y-=1 if(x<y): flag=0 else: flag=1 return flag e=input("请输入一串字符:") if(huiwen(e)): print("这是回文字符串\\n") else: print("这不是回文字符串\\n")

本文标签: 练习题函数定义Python