首页 >> 大全

python 考核内容

2023-12-12 大全 20 作者:考证青年

1、九九乘法表

# 1、for
for 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],利用函数输出删除重复元素后的列表。

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 math
def  IsPrime(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 L
print(duplictae(list01))

4、编写函数,实现计算圆面积

from math import pi as PI
def 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 s
print(fact(4))

6、编写程序,利用循环实现求出1-100之间偶数的和,奇数的和。

sum1= 0
sum2= 0
for i in range(1,101):if i % 2 == 0:sum1=sum1 +ielse:sum2=sum2+i
print("1-100之间偶数的和是:{},奇数的和是:{}".format(sum1,sum2))

7、判断一个数是否是回文数(已知回文数是从左边读和右边读结果是一样的。)

1、判断回文数

# 方法 1 flag 用法
pn = input('Please enter a number:')
i =0
j = len(pn)-1
flag = True
while i<= j:if pn[i] != pn[j]:print('No')flag=Falsebreak
i,j = i+1, j-1
if flag:
print('Yes')# 方法 2 while else 用法
pn = input('Please enter a number:')
i = 0
j = len(pn)-1
while i<= j:if pn[i] != pn[j]:print('No')        break
i,j = i+1,j-1
else:  # 只要不是通过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 keyword
value = 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、编写程序,统计一行字符的大写、小写,数字和空格的数量,并利用程序统计出字符串’My is ’中大写、小写,数字和空格的数量。

s = input("请输入一行字符:")
count_upper = 0
count_lower = 0
count_digit = 0
count_space = 0
for 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 random
x = [random.randint(0,100) for _ in range(20)]
# randrange()
print(x)
y = x[::2]
y.sort(reverse=True)
x[::2] = y
print(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 = 0
for 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))

关于我们

最火推荐

小编推荐

联系我们


版权声明:本站内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 88@qq.com 举报,一经查实,本站将立刻删除。备案号:桂ICP备2021009421号
Powered By Z-BlogPHP.
复制成功
微信号:
我知道了