1、编写程序,输入一个元素类型为整型的列表a,计算得到一个元组,该元组的第一个元素为列表a的最大值,其余元素为该最大值在列表中的下标。
a=input('输入一个整型列表\n')
a=eval(a)
zuidazhi=a[0]
xiabiao=[]
for i in range(1,len(a)):
if zuidazhi<a[i]:
zuidazhi=a[i]
for i in range(len(a)):
if a[i]==zuidazhi:
xiabiao.append(i)
xiabiao.insert(0,zuidazhi)
jieguo=tuple(xiabiao)
print(jieguo,type(jieguo))
2、编写程序,随机生成[0,100]范围内的20个不重复的整数,存入列表中,将该列表的前10个元素按降序排序,后10个元素按升序排序。
import random
list_1=[]
list_2=[]
list_3=[]
for i in range(20):
list_1.append(random.randint(0,100))
print('生成的随机数列表为:\n',random.sample(list_1,20))
list_2=list_1[0:10]
list_3=list_1[10:20]
list_2.sort()
list_2.reverse()
list_3.sort()
list_1=list_2+list_3
print('排序后的列表为:\n',list_1)
3、编写程序,输出10行的杨辉三角。
list=[[],[],[],[],[],[],[],[],[],[]]
for i in range(10):
if i==0:
list[0]=[1]
elif i==1:
list[1]=[1,1]
else:
for j in range(i-1):
a=list[i-1][j];b=list[i-1][j+1]
list[i].insert(i-1,a+b)
list[i].insert(0,1);list[i].append(1)
for n in range(10):
list[n]=' '.join(str(i) for i in list[n])
print(list[n])
4、编写程序,从键盘上输入10同学的英语成绩(百分制),分别统计出优、良、中、及格和不及格的人数。
scores=[]
excellent,good,medium,pass_num,fail_num=0,0,0,0,0
for i in range(10):
score=float(input('请输入第{}个学生的成绩:'.format(i+1)))
scores.append(score)
if score>=90:
excellent+=1
elif score>=80:
good+=1
elif score>=70:
medium+=1
elif score>=60:
pass_num+=1
else:
fail_num+=1
print('优秀人数:{},良好人数:{},中等人数:{},及格人数:{},不及格人数:{}'.format(excellent,good,medium,pass_num,fail_num))
5、编写程序,从键盘输入一个用户的18位身份证号码,从中提取出生日期并输出。
id=input('请输入身份证号码:')
year=id[6:10]
mouth=id[10:12]
day=id[12:14]
print("出生日期是:",year,"年",mouth,"月",day,"日")
6、用户从键盘上输入一句英文,将其中的单词以反序输出,如 “This is a book” → “sihT si a koob”。
string=input("输入英文:")
string_list = list(string)
string_list.reverse()
print(''.join(string_list))
7、定义一个求和函数Sum(n),该函数实现的功能是求1+2+3+…+n的和,并编写主程序调用该函数,要求用户从键盘输入一个正整数m。
n=int(input("输入n:"))
sum=0
for i in range(1,n+1):
sum+=i
print(sum)
8、编写一个自定义函数,用于判断一个正整数是否为素数,并利用该函数验证哥德巴赫猜想,即任意大于或等于4的偶数都可以分解为两个素数之和,要求输出测试数据的所有组合。
def is_prime(n):
if n <= 1:
return False
for i in range(2, n):
if n % i == 0:
return False
return True
for n in range(3, 100):
for i in range(2, n):
if is_prime(i) and is_prime(n - i):
print(f"{n} = {i} + {n - i}")
break
9、编写一个自定义函数,用于判断两个数是否为幸运对数。所谓幸运对数是指两数相差3,且各位数字之和能被6整除的一对数,如147和150就是幸运对数。要求找出所有的3位幸运对数。
def num(a):
b = a // 100
s = a // 10 % 10
g = a % 10
k = b + s + g
if k % 6 == 0:
return 1
else:
return 0
for i in range(100, 1000):
j=i+3
if(num(i) and num(j)):
print(i,j)