python 考核内容

1、九九乘法表
# 1、forfor i in range(1,10):for j in range(1,i+1):print('{}*{}={:<2}'.format(j,i,i*j), end=' ')print()# 2、推导式print('\n'.join([' '.join([f"{x}*{y}={x*y:<2}" for y in range(1, x+1)]) for x in range(1, 10)]))
3、创建一个函数实现删除重复元素的功能 。现已知列表 [1,1,6,3,1,5,2],利用函数输出删除重复元素后的列表 。
【python 考核内容】def dup(x):res = []seen = set()for i in x:if i not in seen:res.append(i)seen.add(i)return reslst = [1,1,6,3,1,5,2]print(dup(lst))
5、分别用递归函数和普通自定义函数求阶乘 n! = 1 * 2 * 3 * … * n,并利用函数求当 n = 4 时的函数值 。
## 自定义函数def factLoop(n):if n == 0: return 1res = 1for i in range(1, n+1):res *= ireturn res## 自定义递归函数def factRecu(n):if n == 0: return 1 # 终止条件return n * factRecu(n-1)print(factLoop(4))print(factRecu(4))
6、编写程序,利用循环实现求出 1-100 之间偶数的和,奇数的和 。
# x = y = 1# for i in range(1, 101):#if i % 2: #y += i#else:#x += i# print('1-100之间偶数的和 %d,奇数的和 %d 。' % (x, y))# print('1-100之间偶数的和 {0},奇数的和 {1} 。'.format(x, y))# print(f'1-100之间偶数的和 {x},奇数的和 {y} 。')print(f'1-100之间偶数的和 {sum(x for x in range(2, 101, 2))},奇数的和 {sum(x for x in range(1, 101, 2))} 。')
《考核题库》
1、输出 9 * 9 乘法口诀表 。
for i in range(1, 10):print()for j in range(1, i+1):print("%d*%d=%d" % (i,j,i*j),end=" ")
2、编写函数,判断一个数字是否为素数(已知素数:除了1和它本身外,不能被其他自然数整除),是则返回字符串YES,否则返回字符串NO 。
答:
import mathdefIsPrime(v):n=int(math.sqrt(v)+1)for I in range(2,n):if v%I ==0:return 'No'else:return 'Yes'print(IsPrime(6))
3、创建一个函数实现删除重复元素的功能 。现已知列表[1,1,6,3,1,5,2],利用函数输出删除重复元素后的列表 。
list01=[1,1,6,3,1,5,2]def duplictae(lists):L=[]for i in lists:if i not in L:L.append(i)return Lprint(duplictae(list01))
4、编写函数,实现计算圆面积
from math import pi as PIdef Circle(r):if isinstance(r, int) or isinstance(r, float):return PI*r*relse:return ("请给定数值型数据")print(Circle(2))
5、分别用递归函数和普通自定义函数求阶乘n! = 1 * 2 * 3 * … * n,并利用函数求当n=4时的函数值 。
(1)递归
def fact(n):if n == 1:return 1return n * fact(n - 1)print(fact(4))(2)普通函数def fact(n):s=1for i in range(1,n+1):s *=ireturn sprint(fact(4))
6、编写程序,利用循环实现求出1-100之间偶数的和,奇数的和 。
sum1= 0sum2= 0for i in range(1,101):if i % 2 == 0:sum1=sum1 +ielse:sum2=sum2+iprint("1-100之间偶数的和是:{},奇数的和是:{}".format(sum1,sum2))
7、判断一个数是否是回文数(已知回文数是从左边读和右边读结果是一样的 。)
1、判断回文数
# 方法 1 flag 用法pn = input('Please enter a number:')i =0j = len(pn)-1flag = Truewhile i<= j:if pn[i] != pn[j]:print('No')flag=Falsebreaki,j = i+1, j-1if flag:print('Yes')# 方法 2 while else 用法pn = input('Please enter a number:')i = 0j = len(pn)-1while i<= j:if pn[i] != pn[j]:print('No')breaki,j = i+1,j-1else:# 只要不是通过break退出循环就运行print('Yes')# 方法 3 切片pn = input('Please enter a number:')if pn == pn[::-1]:print('Yes')else:print('No')# 方法 3 进一步简化pn = input('Please enter a number:')print('Yes') if pn==pn[::-1] else print('No')
8、.默认给出两个用户及密码user=[‘’,‘’],=[‘123’,‘456’]
用户登陆(判断用户是否存在):
1)如果存在:判断用户密码是否正确?如正确则提示登录成功,如不正确则提示密码错误
2). 如果不存在:重新登陆,总共有三次登陆机会
user=['redhat','westos']passwd=['123','456']for i in range(3):us = input('请输入用户名:')if us == user[0] or us == user[1]:pa=input('请输入密码:')if us == user[0]:if pa == passwd[0]:print('登陆成功')breakelse:print('密码错误')if us == user[1]:if pa == passwd[1]:print('登陆成功')breakelse:print('密码错误')else:print('用户名错误')else:print('次数用尽,请稍后再试')
9、输入一个标识符,判断是否合法 。
import keywordvalue = http://www.kingceram.com/post/input('变量名:')if value[0].isdigit() or value in keyword.kwlist:print('不合法')else:for i in value:if not i.isalnum() and not i == '_':print('不合法')breakelse:print('合法')
10、编写程序,统计一行字符的大写、小写,数字和空格的数量,并利用程序统计出字符串’Myis ’中大写、小写,数字和空格的数量 。
s = input("请输入一行字符:")count_upper = 0count_lower = 0count_digit = 0count_space = 0for ch in s:if ch.isupper():count_upper += 1if ch.islower():count_lower += 1if ch.isdigit():count_digit += 1if ch.isspace():count_space += 1print("大写字符:", count_upper)print("小写字符:", count_lower)print("数字字符:", count_digit)print("空格字符:", count_space)
11、编写程序,实现分段函数计算,如下表所示 。
x = input('Please input x:')x = eval(x) # int(x)if x < 0 or x >= 20:print(0) elif 0 <= x < 5:print(x)elif 5 <= x < 10:print(3 * x - 5) elif 10 <= x < 20:print(0.5*x-2)
12、编写一个函数 , 可以接收任意多个数,返回的是一个元组 。元组的第一个值为所有参数的平均值,第二个值是大于平均值的所有数 。
def cacluate(*args):#接收任意多个数,输出为元组avg = sum(args) / len(args)#计算平均数up_avg = []#定义一个空列表,存放比平均值大的所有数for item in args:#遍历所有数if item > avg:up_avg.append(item)#把比平均值大的加入到列表中return avg, up_avg#返回平均值,以及列表print(cacluate(1,2,3,4,5))#调用函数,以(1,2,3,4,5)为例
13、编写程序,生成一个包含 20 个随机整数的列表,然后对其中偶数下标的元素进行降序排列,奇数下标的元素不变 。(提示:使用切片)
import randomx = [random.randint(0,100) for _ in range(20)]# randrange()print(x)y = x[::2]y.sort(reverse=True)x[::2] = yprint(x)
14、根据指定月份,打印该月份属于的季节(提示:3,4,5属于春季 6,7,8属于夏季 9,10,11属于秋季 12,1,2属于冬季)
month=int (input('请输入月份:'))if month in [3,4,5]:print('春季')elif month in[6,7,8]:print('夏季')elif month in[9,10,11]:print('秋季')else:print('冬季')
15、有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?
counter = 0for i in range(1,5):for j in range(1,5):for k in range(1,5):if i != j and j != k and k != i:print("{}{}{}".format(i,j,k))counter += 1print("共{}种组合".format(counter))