python程序片段题
1.调用函数gcd()输出两个数的最大公约数
def gcd(x,y):
if x < y:
x,y = y,x
while (x % y) != 0:
r=x%
x = y
y = r
return y
a = eval(input())
b = eval(input())
gcdab = gcd(a,b)
print("{}and{}'s greatest common divisor is{}".format(a,b, gcd(a,b) ))
2.检查并统计字符串中包含英文单引号的对数
st = input()
pair=0
count=0
for s in st:
if s =="'":
pair += 1
if pair %2== 0:
count += 1
if pair == 0:
pro = "None of a pair"
elif pair % 2 == 0:
pro = "There are 2 pairs".format(count)
else:
pro ="There are 1 pairs with a half one".format(count)
print(pro)
3.从键盘输入一个整数和一个字符,以逗号隔开,在屏幕上显示出一条信息
s= input().
split(',')
print(
ls[0].center(eval(ls[0])*2+len(ls[0]),ls[1])
)
4.计算输出列表元素的均方差
def mean(numlist):
s = 0.0
for num in numlist:
s = s + num
return s/len(numlist)
def dev(numlist,mean):
sdev = 0.0
for num in numlist:
sdev = sdev + (num - mean)**2
return (sdev /(len(numlist)-1) )** 0.5
ls = eval(input(""))
print("Mean Squared Error is:{:.2f}".format(
dev(ls,mean(ls))
))
5.将列表中所有单词首字母换成大写
ls = eval(input())
for i in range(len(ls)):
ls[i] =
ls[i].capitalize()
print(ls)
6.三角形面积
a,b,c = eval(input())
p = (a+b+c)/2
area = pow(p * (p-a)*(p-b)*(p-c),0.5)
print(
"{:.2f}".format(area)
)
7.输入一个自然数
def f(n):
sum=0.0
if n%2==1:
for i in range(1, n+1, 2):
sum += 1/i
else:
for i in range(2,n+1,2):
sum +=1/i
return sum
n = int(input())
print(
"{:.2f}".format(f(n))
)
8.输入一个列表,计算输出列表元素的平均值
def mean(numlist):
s = 0.0
for num in numlist:
s = s + num
return
s/len(numlist)
ls = eval(input())
print(
mean(ls)
)
9.计算a中各元素b逐项乘积的累加和
a = [[1,2,3], [4,5,6], [7,8,9]]
b = [3,6,9]
s=0
for c in a:
for j in
range(3):
s += c[j]*b[j]
print(s)
10.计算所有输入数字的和并输出
n = input()
nums =
n.split(",")
s = 0
for i in nums:
s+=eval(i)
print(s)
11.列表中素数去除
def is_prime(n):
for i in range(2,n):
if n%i==0:
return False
return True
#此处可为多行函数定义代码
ls = [23,45,78,87,11,67,89,13,243,56,67,311,431,111,141]
for i in ls.copy():
if is_prime(i) == True:
ls.remove(i)
#此处为一行代码
print(len(ls))
12.输出一段循环代码的执行时间
t
time
s = 0
t1 = time.time()
for i in range(100000):
s += i
t2 =
time.time()
print('the time cost is {:.2f} second'.format(
t2-t1
))



