文章目录
----------------------------Python代码
分支与循环部分练习题:
1、从键盘输入三个同学的成绩,然后找出最高分。
a = int(input("请输入第一个同学的成绩"))
b = int(input("请输入第二个同学的成绩"))
c = int(input("请输入第三个同学的成绩"))
d = max(a,b,c)
print(d)
2、输入三个同学的成绩,然后由大到小排序。
L=[]
a = int(input("请输入第一个同学的成绩"))
b = int(input("请输入第二个同学的成绩"))
c = int(input("请输入第三个同学的成绩"))
L.append(a)
L.append(b)
L.append(c)
L.sort()
print(L)
3、求出1000以内的所有完全数,如6=1+2+3除了它自身以外的因子之和等于它本身叫完全数。
for x in range(1,1000): //x从1到1000遍历
sum = 0
for y in range(1,x): //y从1到x遍历
if(x % y ==0): //如果x取余y ==0 说明y是x的因子
sum += y //将这个数的所有因子之和加起来
if(x==sum): //如果除它本身之外的因子之和 等于它本身 就输出
print(sum)
4、用循环语句求出1+22+333+4444+55555+…+nnnnn
a = int(input("输出n的数")) //使用终端输入
sum=0
k=1
for x in range(1,a+1): //从1遍历到a
sum+=k*x //sum=1+11*2+111*3+1111*4+11111*5
k=k+(10**x) //k=11 111 1111 11111
print(sum) //求出sum的和
5、求出2000-2100的所有闰年,条件是四年一闰;百年不闰,四百年再闰。
for i in range(2000,2101):
if i % 4 ==0 and i % 100 != 0 or i % 400 ==0:# and优先级高于or
print(i)
6、输入两个正整数,并求出它们的最大公约数和最小公倍数。
j = int(input("输入第一个数"))
l = int(input("输入第二个数"))
if(j<l):
o,k=j,l
else:
o,k=l,j
gck = 1
for x in range(2,o+1):
if o % x == 0 and k % x ==0:
gck = x
print("最大公约数=",gck)
gld = k
while (gld % o !=0 or gld % k !=0):
gld += 1
print("最小公倍数=",gld)
7、输出100以内的所有质数。
L=[]
for x in range(2,100):
for y in range(2,x):
if(x % y == 0):
break
else:
L.append(x)
print(L)
8、求100以内最大的10个质数的和。
L=[]
for x in range(2,100):
for y in range(2,x):
if(x % y == 0):
break
else:
L.append(x)
print("100以内最大10个质数之和",L[-1]+L[-2]+L[-3]+L[-4]+L[-5]+L[-6]+L[-7]+L[-8]+L[-9]+L[-10])
print(sum(L[-1:-11:-1]))
9、求1到10所有偶数的和。
sum = 0
for x in range(0,11,2):
sum+=x
print(sum)
10、将10-20不能被2或3整数的数输出。
for x in range(10,21):
if(x % 2 != 0):
if(x % 3 !=0):
print(x)
字符串部分练习题:
1、计算用户输入的内容中有几个十进制数字?几个字
母?
如统计"China123 321china987CHINESE789 2"字符串字母和数字出现的个数。
# 方法一
a = "China123 321china987CHINESE789 2"
n = 0
m = 0
for x in a:
if(x.isalpha()):
n += 1
if(x.isdigit()):
m +=1
print("字母是:",n,"个")
print("数字是:",m,"个")
print(len(a))
# 字母是: 17 个
# 数字是: 13 个
# 33
# 方法二
a = "China123 321china987CHINESE789 2"
i=0
k=0
j=0
for x in a:
if (x>='A')&(x<='Z'):
i+=1
elif (x>='a')&(x<='z'):
k+=1
elif (x>='0')&(x<='9'):
j+=1
print("字符串中字母个数为",i+k,"个")
print("字符串中大写字母个数为",i,"个")
print("字符串中小写字母个数为",k,"个")
print("字符串中数字个数为",j,"个")
# 字符串中字母个数为 17 个
# 字符串中大写字母个数为 8 个
# 字符串中小写字母个数为 9 个
# 字符串中数字个数为 13 个
2、开发敏感词语过滤程序,提示用户输入内容,
如果用户输入的内容中包含特殊的字符:如’二柱子’改成’佐助’
<