Python基础30道练习题(二)

Python小白一枚,欢迎各位大佬指教。

11、求10!

nums = 1
for i in range(2,11):
    nums *= i
print(nums)

运行结果:
在这里插入图片描述
12、企业发放的奖金根据利润提成。

profit=float(input("请输入利润金额:"))
if profit <= 10:
    print ("你的奖金总数为%.2f:"%(profit*1.1))
elif profit <=20:
    print ("你的奖金总数为%.2f:"%(11+(profit-10)*1.075))
elif profit <= 40:
    print ("你的奖金总数为%.2f:"%(21.75+(profit-20)*1.05))
elif profit <= 60:
    print ("你的奖金总数为%.2f:"%(42.75+(profit-40)*1.03))
elif profit <= 100:
    print ("你的奖金总数为%.2f:"%(63.35+(profit-60)*1.015))
else:
    print ("你的奖金总数为%.2f:"%(103.95+(profit-100)*1.01))

运行结果:
在这里插入图片描述
13、一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?

import math

for i in range(1,1000):
    x = math.sqrt(i + 100)
    y = math.sqrt(i + 268)
    if x == int(x) and y == int(y):
        print(i)

运行结果:
在这里插入图片描述
14、输入某年某月某日,判断这一天是这一年的第几天?

month_days = [0,31,28,31,30,31,30,31,31,30,31,30,31]
sum = 0
year, month, day = map(int, input("请输入年月:").split('.'))
if (year % 4 == 0 or year % 400 == 0) and year % 100 != 0:
    month_days[2] = 29
for i in range(month):
    sum += month_days[i]
sum += day
print(sum)

运行结果:
在这里插入图片描述
15、输出斐波那契额数量的前n项,n由键盘输入。

def fib(n):
    if n==1 or n==2:
        return 1
    else:
        return fib(n-1)+fib(n-2)

n = int(input("请输入N: "))
for i in range(1,n+1):
    print(fib(i),end=' ')

运行结果:
在这里插入图片描述
16、输出 9*9 乘法口诀表

for i in range(1, 10):
    for j in range(1, i + 1):
        print('%d*%d=%d' % (j, i, j * i), end=' ')
    print()

运行结果:
在这里插入图片描述
17、判断101-200之间有多少个素数,并输出所有素数

import math
def isPrime(n):
    if(n < 1):
        return False
    sqr = int(math.sqrt(n))
    for i in range(2,sqr+1):
        if n % i == 0:
            return False
    return True

for i in range(101,201):
    if isPrime(i):
        print(i, end=' ')

运行结果:
在这里插入图片描述
18、打印出所有的"水仙花数"

for i in range(1,10):
    for j in range(10):
        for k in range(10):
            temp1= i*100 + j*10 + k
            temp2= i**3 + j**3 + k**3
            if temp1==temp2:
                print('水仙花:%4d'%temp1)

运行结果:
在这里插入图片描述
19、将一个正整数分解质因数。例如:输入90,打印出90=233*5。

n = int(input("Input Number n : "))
string = str(n) + " = "
for i in range(2,n+1):
    while n % i == 0:
        string += str(i) + "*"
        n /= i
print(string[:-1])

运行结果:
在这里插入图片描述
20、输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。

string=input('请输入一行字符:\n')
flag = [0,0,0,0]
for i in string:
    if i.isalpha():
        flag[0] += 1
    elif i.isspace():
        flag[1]+=1
    elif i.isdigit():
        flag[2]+=1
    else:
        flag[3]+=1
print('英文字母有%d个,空格有%d个,数字有%d个,其他字符有%d个'%(flag[0],flag[1],flag[2],flag[3]))

运行结果:
在这里插入图片描述

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值