python常用语句练习

python常用语句练习

目录

    1 输入两个数,按由从小到大的顺序输出两个数

    a=float(input("请输入第一个数: "))
    b=float(input("请输入第二个数: "))
    
    if a <= b:
        print(a,b)
    else:
        print(b,a)
        
    # 输出结果:
    '''
    请输入第一个数: 4.5
    请输入第二个数: 9
    4.5 9.0
    '''
    

    2 计算从1 加到100的和

    a=0
    # 取值为从1..100
    for i in range(1,101):
        # a+=i 等效与 a=a+i
        a+=i
    print(a)
    
    # 输出结果
    '''
    5050
    '''
    

    3 计算从1 到10 的阶乘

    a=1
    for i in range(1,10):
        a*=i
    print(a)
    
    # 输出结果:
    '''
    3628800
    '''
    
    

    4 有1020个西瓜,第一天卖掉总数的一半后又多卖出2个, 以后每天卖剩下的一半多2个,问几天以后能卖完

    a=0
    result=1020
    while result > 0:
        result=result/2-2
        a += 1
    print(a)
    
    #方法二:
    a=0
    result=1020
    while True:
        a+=1
        result=result/2-2
        if result <=0:
            break
    print(a)
    # 得出结果为8
    
    

    5 猴子吃桃问题: 猴子第一天找下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。 第二天早上,又将剩下的桃子吃了一半,又多吃了一个。 以后,每天都吃了前一天剩下的一半零一个。 到第十天早上,再想吃时,见只剩一个桃子。 求第一天共摘了多少个

    result=1
    for i in range(1,10): # 取值1..9,因为一共要往前推9天
        result=(result+1)*2   
    print("猴子第一天一共摘了"+str(result)+"个桃子")
    # 结果为: 1534
    

    6 有个人想知道,一年之内一对兔子可以繁殖多少对?于是就筑了一道围墙把一对兔子关在里面。 已知,一对兔子每个月可以生一对小兔子,而一对小兔子从出生后第3个月起,每个月生一对小兔子. 假如一年内没有发生死亡现象,那么,一对兔子一年内(12个月)可以繁殖成多少对? 分析:兔子的规律数列为:1,1,2,3,5,8,13,21

    从第三个数开始,后面的数都是前面两个数相加值和

    a=1  #第一个月
    b=1  #第二个月
    
    #取值3..12 
    for i in range(3,13):
        result=a+b   #使用一个变量接收a+b的值
        b=a          #前第二个数字
        a=result     #前第一个数字
    
    print("第12个月共有"+str(result)+"对兔子")
    
    # 输出结果为144
    

    7 计算1000以内,所有不能被7整除的整数之和

    result=0
    for i in range(1,1001):  # range函数,左闭右开
        if (i%7) != 0:  # 除以7取余,余数不为0,则不能被7整除
            result+=i
    print(result)
    
    # 输出结果为429429
    

    8 计算1+2-3+4-5+6-7...100 的结果

    '''
    除了1,加的都是偶数,减的都是奇数
    '''
    result=1
    for i in range(2,101):
        # 让i取值2..100. 使用取余2,如果结果为0,则为偶数
        if i % 2 == 0:
            result+=i
        else:
            result-=i
    print(result)
    #结果为52
    
    
    #方法二:
    a=0
    result1=0
    while a <= 100:
        result1+=a
        a+=2
    print("所有偶数和为"+str(result1))
    
    b=3
    result2=0
    while b <= 100:
        result2+=b
        b+=2
    print("除1外,所有奇数和为"+str(result2))
    
    result=result1+1-result2
    print("最后结果为:"+str(result))
    
    #结果为52
    

    9 一张纸的厚度大约是0.08mm,对折多少次之后能达到或超过珠穆朗玛峰的高度(8848.13米)

    a=float(0.08)
    result=0
    # 当a,也就是纸张厚度小于珠峰高度时,循环条件成立
    while a < 8848130:
        a*=2   #每次循环,纸张厚度都会乘以2
       result+=1  #每次循环,对折次数加1
    print("对折"+str(result)+"次后可以超过,高度是:"+str(a))
    
    '''
    输出结果为:
    对折27次后可以超过,高度是:10737418.24
    '''
    

    10 一球从100米高度*落下,每次落地后反跳回原来高度的一半,再落下 求它在第10次落地时,共经过多少米?第10次反弹多高?

    Longth=100
    for i in range(1,11):
        # 球第n次落地弹起的高度,100 除以2的n次方
        result=100/(2**i)
        # 球第一次落地,为100M,第二次落地为第一次落地的反弹高度乘以2.第十次落地后,不用再加2倍的反弹高度
        if i < 10:
            Longth+=(result*2)
    
    print("球第十次落地时,共经过"+str(Longth)+"米,第十次的反弹高度是"+str(result)+"米")
    
    ''' 
    输出结果为
    球第十次落地时,共经过299.609375米,第十次的反弹高度是0.09765625米
    '''
    

    11 每个做父母的都关系自己孩子成人后的身高。 据有关生理卫生与数理统计分析表明,影响小孩成人后升高的因素有遗传,饮食习惯与坚持体育锻炼等 小孩成人后的升高与其父母的升高和自身的性别密切相关 设fa_Height为其父亲升高。mo_Height为其母亲升高,升高预测公式为: 男性成人时身高 = (fa_Height + mo_Height) * 0.54 女性成人时身高 = (fa_Height* 0.923 + mo_Height) / 2 此外,如果喜欢体育锻炼,那么可增加升高2%,如果有良好的卫生饮食习惯,那么可增加升高1.5%. 利用给定的公式和升高预测方法,对你的身高进行预测。 要求父母的身高,是否爱好体育锻炼等参数,从键盘输入

    SEX=input("请输入您的性别(男|女):")
    fa_Height=float(input("请输入您父亲身高:"))
    mo_Height=float(input("请输入您母亲身高:"))
    PE=input("您是否爱好锻炼(是|否):")
    EAT=input("您的饮食习惯是否良好(是|否):")
    
    a=1
    b=1
    if PE == "是":
        a=1.02
    if EAT == "是":
        b=1.015
    
    if SEX == "男":
        result=(fa_Height + mo_Height) * 0.54 * a *b
    else:
        result=(fa_Height * 0.923 + mo_Height) / 2 * a *b
    print("您的身高是:"+str(result))    
    
    上一篇:hql练习:区间上下限问题


    下一篇:LeetCode 275场周赛