python循环语句以及函数使用案例

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 -- %s\t b -- %s\tc--%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)


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值