1.执行以下代码,输出结果是(A)。
age={16,18,7}
print(type(sorted(age))
A.
B.
C.
D.
2.执行以下代码,输出结果是(A)。
lst=”abc”
print(lst+lst)
A. abcabc
B. abc
C. lst+lst
D. abc+abc
3.已知ls=[3.5,”Python”,[10,“LIST”],3.6],那么ls[2][-1][1]的运行结果是?(A).
A. l
B. P
C. y
D. L
4.导入random标准库,执行print(random.randrange(2,20,2))语句,可能输出的结果是(A)。
A. 2
B. 5
C. 13
D. 20
5.以下关于Python中复数描述,错误的是(D )。
A. 复数可以看作二元有序浮点数(x,y)
B. 实部和虚部都是浮点数
C. 虚数部分的后缀可以是“j”也可以是”J”
D. 已知复数a,可以使用a.real获得虚数部分
编程实现:
输入一个字符串,如果该字符串以er、Iy或者ing后缀结尾的,则删除该字符串后缀,并输出删除后的字符串,否者将原字符串输出。
输入描述:
输入一个字符串
输出描述:
输出删除后的字符串或者原字符串
样例输入:driver
样例输出:driv
input_str = input("请输入一个字符串:")
suffixes = ['er', 'ly', 'ing']
for suffix in suffixes:
if input_str.endswith(suffix):
input_str=input_str[:-len(suffix)]
break #满足要求后就不需要再遍历了
print(input_str)
编程实现:
给定一个只包含小写字母的字符串S(S长度﹥=3),请输出字符串S的第一个字符和最后一个字符。
例如:
当S=’abc’, abc的第一个字符为a, 最后一个字符为c, 故输出ac.
输入描述:
输入一个只包含小写字母的字符串S(S长度﹥=3)
输出描述:
输出字符串S的第一个字符和最后一个字符,两个字符之间没有空格及其他字符。
样例输入:abc
样例输出:ac
# 获取用户输入
S = input("请输入一个只包含小写字母的字符串(长度>=3):")
# 确保输入符合要求
if len(S) >= 3 and S.islower():
# 获取第一个和最后一个字符
result = S[0] + S[-1]
# 输出结果
print(result)
else:
print("输入不符合要求,请输入一个长度大于等于3且只包含小写字母的字符串。")
因子,因子也叫因数,例如3*5=15,那么3和5是15的因子。同时15*1=15,那么1和15也是15的因子。1,3,5,15这四个因子是15的所有因子。
完数: 如果一个数等于不含它本身的其他因子之和,则称该数为"完数”。如6的因子有1,2,3,6,且1+2+3=6,因此6是完数。
编程实现:
输入一个正整数N,输出小于N的所有完数及个数 (个数前加*,例如:*2)。
输入描述:
输入一个正整数N。
输出描述:
输出小于N的所有完数及个数。
样例输入:100
样例输出:
6
28
*2
# 获取用户输入
N = int(input("请输入一个正整数N:"))
# 找出小于N的所有完数
perfect_numbers = []
for num in range(2, N):
# 找出num的所有因子(不包含num本身)
factors = [i for i in range(1, num) if num % i == 0]
# 判断是否为完数
if sum(factors) == num:
perfect_numbers.append(num)
# 输出所有完数
for perfect_number in perfect_numbers:
print(perfect_number)
# 输出完数个数
print(f"*{len(perfect_numbers)}")
编程实现:
有N个正整数,现对N个正整数进行不同方式的排列,每次排列后都会按照以下规则进行次计算, 聪明的小蓝发现,排列方式不同,最后计算出的结果也不相同。
计算规则:
第一次:第一个数乘以第二个数乘以第三个数,结果记录为M(1);
第二次:第二个数乘以第三个数乘以第四个数,结果记录为M(2);
第三次:第三个数乘以第四个数乘以第五个数,结果记录为M(3);
……
第N_2次:第N_2个数乘以第N_1个数乘以第N个数,结果记录为M(N-2)。
最后计算M(1)+M(2)+M(3).....M(N-2)的数值。
找出一种排列方式使这个数值最大。
例如: N=4,4个正整数分别为1, 2, 3, 4,那么排列方式就会有24种:
其中排列方式为1, 3, 4, 2时,按照规则计算2次: 1*3*4=12, 3*4*2=24; 乘积相加: 12+24=36
这种排序方式是所有乘积相加的数值最大,为36。
输入描述:
输入N个正整数(3<=N) ,正整数之间一个英文逗号隔开
输出描述:
找出所有乘积相加的数值最大的排列方式。并输出数值
样例输入:
1,2,3,4
样例输出:
36
import itertools
# 获取用户输入并转换为列表
numbers = list(map(int, input().split(',')))
# 初始化最大和变量
max_sum = 0
# 生成所有排列方式
permutations = itertools.permutations(numbers)
# 遍历每种排列方式
for perm in permutations:
current_sum = 0
# 计算每种排列方式的乘积和
for i in range(len(perm) - 2):
current_sum += perm[i] * perm[i+1] * perm[i+2]
# 更新最大和
if current_sum > max_sum:
max_sum = current_sum
# 输出最大乘积和
print(max_sum)
1.集合set,集合使用大括号 {}表示,元素之间用逗号 , 分隔。
创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
2.randrange(start,stop,step), randrange() 方法返回指定递增基数集合中的一个随机数,基数默认值为1。
randrange()是不能直接访问的,需要导入 random 模块,然后通过 random 静态对象调用该方法。
import random
random.randrange ([start,] stop [,step])
randrange(0,100, 2) # 从0-100中随机选取一个偶数
randrange(0,100, 4) # 从0-100中随机选取一个能被4整除的整数
randrange(1,100, 3) # 从0-100中随机选取一个能被3整除后余1的数
random.randrange(1, 100, 2) # 从1-100中随机选取一个奇数
3.complex()函数,包含实部和虚部部分
用于创建一个值为 real + imag * j 的复数或者转化一个字符串或数为复数。如果第一个参数为字符串,则不需要指定第二个参数。
在 Python 中,复数的虚部以小写字母j或者大写字母J作为后缀(虚数单位)。
从复数中提取实部和虚部,comp.real,comp.imag.
4.字符串
删除特定的字符
切片问题,找到第一个或者最后一个字符。
ASCII 码值,用于对字符串进行加密。
大小写问题
查找字符串中的某个字符,或者是某个子字符串。