概述
1.创建一个名为sum()的函数,并计算n以内的整数之和。
sum = 0
def qiuhe(n):
global sum
for i in range(1, n+1):
sum = sum+i
print(sum)
shuzhi = int(input("请输入数值:n"))
qiuhe(shuzhi)
2.用函数方式编写一个求某门课程成绩的函数。要求平时成绩占40%,期末成绩占60%。
def avg(num1, num2):
avgscore = num1*0.4+num2*0.6
print(avgscore)
a = int(input("请输入学生平时成绩:n"))
b = int(input("请输入学生期末成绩:n"))
avg(a, b)
3.采用函数的方式求解三角形的面积。
def area(a, b, c):
if a+b > c and a+c >b and b+c > a:
h = (a+b+c)/2
area1 = (h*(h-a)*(h-b)*(h-c))**0.5
return area1
else:
return "你输入的三边不构成三角形。"
print(area(3,4,5))
4.定义一个函数math(),当参数的值等于1时返回计算加法;当参数的值等于2时返回计算减法;当参数的值等于3时返回计算乘法;当参数的值等于4时返回计算除法;
def math(a):
if (a==1):
return lambda x,y:x+y
if (a==2):
return lambda x,y:x-y
if (a==3):
return lambda x,y:x*y
if (a==4):
return lambda x,y:x/y
action = math(1)
print("15+4=",action(15,4))
action = math(2)
print("15-4=",action(15,4))
action = math(3)
print("15*4=",action(15,4))
action = math(4)
print("15/4=",action(15,4))
5.利用函数对两个变量进行数值的交换。
def exchange(a, b):
a, b = b, a
return (a,b)
x = 10
y = 20
print("x = %d,y = %d" %(x,y))
x, y = exchange(x, y)
print("x = %d,y = %d" %(x,y))
6.猴子吃桃问题。猴子一天摘下若干桃子,当天吃了一半,还没吃够,又多吃了一个。第二天猴子又将剩下的桃子吃掉了一半后,又多吃了一个;以后它每天都吃了前一天剩下的一半加一个,到第十天只剩下一个桃子了。求猴子第一天共摘了多少个桃子。
count = 1
print("第10天吃之前只剩下1个。")
for i in range(1, 10):
count = (count+1)*2
print("第%d天吃之前还有%d个桃子。" % (10-i,count))
print("第一天共摘了%d个桃子。" % count)
7.两支乒乓球队进行比赛,各出三人,甲队为a,b,c;乙队为x,y,z;已抽签决定出比赛名单。有人向队员打听对阵情况,a说他不和x比,c说他不和x,z比,请编写程序找出三场比赛的对阵情况。
for i in range(ord('x'), ord('z') + 1):
for j in range(ord('x'), ord('z') + 1):
if i != j:
for k in range(ord('x'), ord('z') + 1):
if (i != k) and (j != k):
if (i != ord('x')) and (k != ord('x')) and (k != ord('z')):
print('order is a -- %st b -- %stc--%s' % (chr(i), chr(j), chr(k)))
8.一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹的高度是多少?
far = []
high = 100
for i in range(1,11):
if i == 1:
far.append(high)
else:
far.append(high*2)
high = high / 2
far = sum(far)
print("经过的总距离:%f" % far)
print("第十次反弹的高度:%f" % high)
9.求1!*2!*3!*4!*5!*...*10!
def fun(i):
if i == 1 or i == 0:
return 1
else:
return i*fun(i-1)
sum = 1
for i in range(1, 11):
sum = sum * fun(i)
print("1!*2!*3!*...*6!=%d " % sum)
10.求100之内的素数。
list = [2]
for i in range(2, 101):
for j in list:
remainder = i % j
if remainder == 0:
break
sqrt = i**0.5
if sqrt < j:
list.append(i)
break
print(list)
11.求解百马百担问题。有100匹马,驮100担货,大马驮3担,中马驮2担,两匹小马驮1担,求大、中、小马分别有多少匹?有多少解决方案?
for i in range(0,34):
for j in range(0,51):
for k in range(0, 101):
if (i+j+k == 100) and (3*i+2*j+k/2 == 100):
print("大马=%d,中马=%d,小马=%d" % (i, j, k))
12.显示200-300之间不能被4整除的数。要求一行显示10个整数。
j = 0
for i in range(200, 301):
if i % 4 == 0:
continue
print(i, end=' ')
j = j+1
if j % 10 == 0:
print("n")
13.海滩上有五只猴子分一堆桃子,第一只猴子把桃子平均分成5份,多出了1个,这只猴子把多出的1个吃了,拿走了1份;第2只猴子把剩下的桃子又平均分成了5份,又多出了1个,它同样把多出的1个吃了,拿走了1份;第三、四、五只猴子都是这样做的,问海滩上原来最少有多少个桃子?
i = 0
j = 1
x = 0
while(i<5):
x = 4 * j
for i in range(0, 5):
if(x%4 !=0):
break
else:
i = i+1
x = int((x/4)*5+1)
j = j+1
print(x)
14.一个5位数,判断它是不是回文数?如12321是回文数,其个位与万位数相同,十位与千位数相同。
a = int(input("请输入一个五位数:"))
x = str(a)
flag = True
for i in range(len(x)//2):
if x[i]!=x[-i-1]:
flag=False
break
if flag:
print("%d是一个回文数." % a)
else:
print("%d不是一个回文数." % a)
最后
以上就是霸气酒窝为你收集整理的python循环语句以及函数使用案例的全部内容,希望文章能够帮你解决python循环语句以及函数使用案例所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复