4~10题的run截图,注释没怎么加,应该能看懂
练习题
# 分支与循环部分练习题:
# 1、从键盘输入三个同学的成绩,然后找出最高分。
x=input('输入三个同学的成绩:').split()
print(max(int(x[0]),int(x[1]),int(x[2])))
# 2、输入三个同学的成绩,然后由大到小排序。
x=input('输入三个同学的成绩:').split()
y=list(map(int,x))
y.sort(reverse=True)
print(y)
# 3、求出1000以内的所有完数,如6=1+2+3除了它自身以外的因子之和等于它本身叫完数。
a=[]
for i in range(2,1001):
su=0
for j in range(1,i):
if i%j==0:
su+=j
if j==i-1 and su==i:
a.append(i)
print(a)
# 4、用循环语句求1+22+333+4444+55555的和。
su2=0
for i in range(1,6):
su1=0
for j in range(i):
su1+=i*pow(10,j)
su2+=su1
print(su2)
# 5、求出2000-2100的所有闰年,条件是四年一闰;百年不闰,四百年再闰。
for i in range(2000,2101):
if i%4==0 and i%100!=0 or i%400==0:
print(i,end=' ')
# 6、输入两个正整数,并求出它们的最大公约数和最小公倍数。
a=[]#一个空列表存储公约数
x=input('输入两个正整数:').split()
y=list(map(int,x)) #转化为int类型
for j in range(1,min(y)+1):
if y[0]%j==0 and y[1]%j==0: #同时除以一个数同时余0则是公约数
a.append(j)
a.sort(reverse=True) #先排序再去重
list(set(a))
print('最大公约数',a[0],'最小公倍数:',y[0]*y[1]//a[0])
# 7、输出100以内的所有质数。
a=[]#空列表用于接收
for i in range(2,101):
for j in range(2,i):
if i%j==0:
break
else:
a.append(i)
print(a)
# 8、求100以内最大的10个质数的和。
a=[]#空列表用于接收
for i in range(100,1,-1):
for j in range(2,i):
if i%j==0:
break
else:
if len(a)==10:
break
else:
a.append(i)
print(sum(a))
# 9、 求1到10 所有偶数的和。
su=0
for i in range(1,11,2):
su+=i
print(f'1到10 所有偶数的和:{su}')
#10、将10-20不能被2或3整除的数输出。
for i in range(10,21):
if i%2!=0 and i%3!=0:
print(i,end=' ')