一,python编程100例


1.有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?

#有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
number = (1 ,2,3,4)
count = 0
for i in number:#for i in range(1,5)
    for j in number:
        for k in number:
            if i !=j and i != k and j != k :
                count += 1
                print(i ,j , k)
print("一共有%s种组合"%count)
View Code

2.题目:企业发放的奖金根据利润提成。

利润(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,求应发放奖金总数?

初级版

profits = input("请输入当月利润:")
profit = int(profits)
            if profit <= 100000 :
                bonus = profit * 0.1
            elif  100000< profit <=200000:
                bonus = 100000*0.1 + (profit-100000)*0.075
            elif 200000 < profit <= 400000:
                bonus = 100000*0.1 + 100000*0.075 + (profit-200000)*0.05
            elif 400000 < profit <= 600000:
                bonus = 100000*0.1 +100000*0.075 + 200000*0.05 + (profit-400000)*0.03
            elif 600000 < profit <= 1000000:
                bonus = 100000*0.1 +100000*0.075 + 200000*0.05 + 200000*0.03 +(profit-600000)*0.015
            elif 1000000 < profit:
                bonus = 100000 * 0.1 + 100000 * 0.075 + 200000 * 0.05 + 200000 * 0.03 + 400000 * 0.015 + (profit-1000000)*0.01
            print("你应得的奖金为:",bonus)
View Code

进阶版

while True:         #增加循环可多次输入
    profits = input("请输入当月利润:")
    if profits != "q" and profits != "Q":    #增加一个判断使程序可以退出并增加一个隐形的判断Q
        try:                                 #抓取有可能由于输入错误导致的报错
            profit = int(profits)
            if profit <= 100000 :
                bonus = profit * 0.1
            elif  100000< profit <=200000:
                bonus = 100000*0.1 + (profit-100000)*0.075
            elif 200000 < profit <= 400000:
                bonus = 100000*0.1 + 100000*0.075 + (profit-200000)*0.05
            elif 400000 < profit <= 600000:
                bonus = 100000*0.1 +100000*0.075 + 200000*0.05 + (profit-400000)*0.03
            elif 600000 < profit <= 1000000:
                bonus = 100000*0.1 +100000*0.075 + 200000*0.05 + 200000*0.03 +(profit-600000)*0.015
            elif 1000000 < profit:
                bonus = 100000 * 0.1 + 100000 * 0.075 + 200000 * 0.05 + 200000 * 0.03 + 400000 * 0.015 + (profit-1000000)*0.01
            print("你应得的奖金为:",bonus)
            print("输入 q 结束查询")
        except Exception :
            print("对不起你输入的信息有误,请输入当月利润,或输入 q  退出")
    else:
        print("结束查询")
        break
View Code

3.题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?

我数学不好,只能想一个笨办法来解决

#题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?

for a in range(0,10000):
    b = (a+100)**0.5                #思路;如果b是一个平方数,那么它的开方应该是一个一位小数的数字,如:121开方后是11.0,如果是小数点两位,那么它不可能是一个完全开方数
    q=len(str(b).split(".")[1])    #所以把b这个浮点数按小数点分开,如果小数点后面是一位,那么它包含了所以的完全平方数和可能不是的完全平方数
    if q == 1:
        c = (a+100+168)**0.5
        w=len(str(c).split(".")[1])
        if w == 1:                  #再次筛选,那么是c完全平方数的概率也就极大增加了,到底有多大,请看结果。验证后没有错误答案,
            print(a)
View Code

4.题目:输入某年某月某日,判断这一天是这一年的第几天?

import time
while True:
    a = input("请输入某年某月某日,(如:2016-08-06):")
    if a != "q":
        try:
            c= time.strptime(a,"%Y-%m-%d")    #把获取的时间转换成元组形式并获取数据
            print("这是%s年的第%s天"%(a[0:4],c.tm_yday))
        except Exception:
            print("输入有误,请重新输入,退出请输入q")
    else:
        print("已退出")
        break
View Code

 5.题目:输入三个整数x,y,z,请把这三个数由小到大输出。

while True:
    a = input("请输入三个整数,并用逗号隔开,如:2,5,4 (退出请输入 q ):")
    if a != "q":
        try:
            b = a.split(",")
            r = int(b[0])    #int也有一个好处,就是判断它是否为空或者特殊字符,是则报错
            w =int(b[1])
            e = int(b[2])
            c=[]
            c.append(r)     #c里的内容必须是int类型,因为b是字符串,那么b.sort排序 会把10排到5后面,因为10在b里是字符串,它没有5大
            c.append(w)
            c.append(e)
            c.sort()
            if len(b) >3:            #判断是否输入数大于三位
                print("请输入三位整数,退出请输入 q ")
                continue
            print("您输入的数%s从小到大的排序为:%s ,%s ,%s"%(a,c[0],c[1],c[2]))
        except Exception:
            print("输入有误,请重新输入,退出请输入 q ")
    else:
        print("已退出")
        break
View Code

6.题目:用*号输出字母C的图案。

print("""        * * * *
                * 
               *
              *
             *
            *
            *
            *
             *
               *
                 * 
                   * * *
"""  )
View Code

7.题目:输出9*9口诀。

#题目:输出9*9口诀。
for i in range(1,10):
    for j in range(1,10):
        if i <= j:
            # print(str(i) + "*" + str(j) + "=" + str(i*j))
            # print("{a}*{b}={c}".format(a=i,b=j,c=i*j)) #第二种方法
            print("%d*%d=%d"%(i,j,i*j)) #第三种方法
View Code
#题目:输出9*9口诀。
for i in range(1,10):
    for j in range(1,10):
        if i <= j:
            print(str(i) + "+" + str(j) + "=" + str(i*j))
            # print("%s+%s=%s"%(i,j,i*j)) #第二种输出方法
View Code

8.题目:斐波那契数列 斐波那契就是从第三个数开始,都是前两个数的和

#题目:斐波那契数列 斐波那契就是从第三个数开始,都是前两个数的和
a, b = 1, 1
for i in range(10):
    a, b = b, a + b
    print(a)
# def cn(n):      #输出指定的第几个数
#     a, b = 1, 1
#     for i in range(n-1):
#         a, b = b, a + b
#     return a
# print(cn(10))
View Code

9.题目:将一个列表的数据复制到另一个列表中。

#题目:将一个列表的数据复制到另一个列表中。
a=[1,2,3]
# b = a   这种方法不行
# print(b)
# a.append(5)
# print(b)
b = a[:] #这个可以,相当于复制a,也可以a[0:len(a)]
print(b)
a.append(7)
print(b)
View Code

10 题目:暂停一秒输出

#题目:暂停一秒输出
import time

print("开始暂停")
time.sleep(1)
print("暂停了一秒")
View Code

11.题目:暂停一秒输出,并格式化当前时间。

#题目:暂停一秒输出,并格式化当前时间。
import time

print("暂停一秒")
time.sleep(1)
a = time.strftime("%Y-%m-%d %H-%M-%S",time.localtime()) #time.localtime()获取当前时间元组形式,time.strftime()格式化时间
print(a)
View Code

12.题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?

#题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
#这是斐波那契数列,1,1,2,3,5,8,13
a, b = 1, 1
c=[]
print("第一个和第二个月都只有一对兔子")
print(a)
for i in range(24):
    a, b = b, a + b
    print(a)
View Code

13.题目:判断101-200之间有多少个素数,并输出所有素数

#题目:判断101-200之间有多少个素数,并输出所有素数。素数就是大于一的自然数,只能被一和自己整除的数
count = 0
for num in range(101,201):
    for i in range(2,num):
        if num%i==0 :
            break
    else:
        count += 1
        print("%d是素数"%num)
print("一共有%s个素数"%count)
View Code

14.题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身

#题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。

for i in range(100,1000):
    a = int((str(i)[0]))**3 + int((str(i)[1]))**3 + int((str(i)[2]))**3
    if a == i:
         print(i)
View Code

15.题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5

#题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5

target=int(input('输入一个整数:'))
print(target,'= ',end='')
if target<0:
    target=abs(target)
    print('-1*',end='')
flag=0
if target<=1:
    print(target)
    flag=1
while True:
    if flag:
        break
    for i in range(2,int(target+1)):
        if target%i==0:
            print("%d"%i,end='')
            if target==i:
                flag=1
                break
            print('*',end='')
            target/=i
            break
View Code

16.题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示

#题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示
try:
    numb_s = int(input("请输入成绩,输入 q 退出:"))
    while numb_s != "q":
        if numb_s >= 90:
            print("A")
        elif 60 <= numb_s <=89:
            print("B")
        else:
            print("C")
except Exception:
    print("输入数据错误,请重新输入或输入 q 退出")
View Code

17.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM