zoukankan      html  css  js  c++  java
  • python 练习

    # 有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?
    
    for i in range(1,5):
        for j in range(1, 5):
            for k in range(1, 5):
                if (i!=j) and (i!=k) and (j!=k):
                    print(i,j,k)
    

      1

    # 企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,
    # 低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;20万到40万之间时,
    # 高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,
    # 高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,
    # 求应发放奖金总数?
    # 程序分析:请利用数轴来分界,定位。注意定义时需把奖金定义成长整型。
    
    i = int(input('净利润:'))
    a = [1000000,600000,400000,200000,100000,0]
    b = [0.01,0.015,0.03,0.05,0.075,0.1]
    r = 0
    for idx in range(0,6):
        if i>a[idx]:
            r+=(i-a[idx])*b[idx]
            print(r)
            i=a[idx]
    print(r)
    

      

    # 题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
    # 程序分析:
    # 假设该数为 x。
    # 1、则:x + 100 = n2, x + 100 + 168 = m2
    # 2、计算等式:m2 - n2 = (m + n)(m - n) = 168
    # 3、设置: m + n = i,m - n = j,i * j =168,i 和 j 至少一个是偶数
    # 4、可得: m = (i + j) / 2, n = (i - j) / 2,i 和 j 要么都是偶数,要么都是奇数。
    # 5、从 3 和 4 推导可知道,i 与 j 均是大于等于 2 的偶数。
    # 6、由于 i * j = 168, j>=2,则 1 < i < 168 / 2 + 1。
    # 7、接下来将 i 的所有数字循环计算即可。
    
    for i in range(1,85):
        if 168 % i == 0:
            j = 168 / i;
            if  i > j and (i + j) % 2 == 0 and (i - j) % 2 == 0 :
                m = (i + j) / 2
                n = (i - j) / 2
                x = n * n - 100
                print(x)
    
    
    print("---")
    import math
    for z in range(10000):
        x=int(math.sqrt(100+z))
        y=int(math.sqrt(268+z))
        if (x*x==(100+z))and (y*y==(z+268)):
            print(z)
    

      

    # 题目:输入某年某月某日,判断这一天是这一年的第几天?
    # 程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,
    # 特殊情况,闰年且输入月份大于2时需考虑多加一天:
    # 1、普通情况求闰年只需除以4可除尽即可 年/4余数为0
    # 2、如果是100的倍数但不是400的倍数,那就不是闰年了,即末两位都是零的整除400才行
    # 像1700、1800、1900、2100都不是闰年,但是2000、2400是的.
    # 3、2100年不是闰年,闰年不是象你们所说以加4为判断闰年标准的,所以闰年有些4年一次,但是有些是8年一次的.例如:1896年是闰年,但1900年不是,到1904年才是闰年.
    
    year = int(input("请输入年:
    "))
    month = int(input("请输入月:
    "))
    day = int(input("请输入天
    "))
    
    days1 = [0,31,59,90,120,151,181,212,243,273,304,334]
    
    if 0< month <= 12:
        days = days1[month-1]
    else:
        print("error month")
    days += day
    leap = 0
    if (year%4 == 0) or (year%400 == 0) and (year%100 != 100):
        leap = 1
    if(leap ==1) and month > 2:
        days += 1
    print("是一年的第 %d 天" %days)
    

      

    # 题目:输入三个整数x,y,z,请把这三个数由小到大输出。
    # 程序分析:我们想办法把最小的数放到x上,先将x与y进行比较,
    # 如果x>y则将x与y的值进行交换,然后再用x与z进行比较,如果x>z则将x与z的值进行交换,这样能使x最小。
    
    #方法1
    a = int(input("请输入第一个整数: 
    "))
    b = int(input("请输入第二个整数: 
    "))
    c = int(input("请输入第三个整数: 
    "))
    z = 0
    if(a>b):
        z = a
        a = b
        b = z
    if(a>c):
        z = a
        a = c
        c = z
    if(b>c):
        z = b
        b = c
        c = z
    print("打印三个整数:
     %d 
     %d 
     %d"%(a,b,c)) #打印1,2,3
    
    #方法2
    a = []
    for i in range(3):
        x = int(input("请输入整数:
    "))
        a.append(x)
    a.sort()
    print(a) #打印1,2,3
    
    #3
    a = []
    for i in range(3):
        x = int(input("请输入整数:
    "))
        a.append(x)
    a.sort(reverse=True)
    print(a) #打印3,2,1
    

      

  • 相关阅读:
    SharePoint 2010 User Profile Sync Service自动停止
    如何区别多个svchost.exe?
    Log Parser分析IIS log的一个简单例子
    Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool. This may have occurred because all pooled connections were in use and max pool size was reached.
    Windows中右键点击文件夹, 结果找不到共享选项卡, 怎么办?
    介绍SOS中的SaveModule命令
    SharePoint中Draft版本的文档不会收到document added的Alert Email
    和我一起学Windows Workflow Foundation(1)创建和调试一个WF实例
    门户网站
    C#基础—— check、lock、using语句归纳
  • 原文地址:https://www.cnblogs.com/zhangbao003/p/9230356.html
Copyright © 2011-2022 走看看