注:下面的答案是我自己发挥的,新手思维,方法可能非最优,代码是在jupyter notebook中编辑运行的。想要看参考答案的可以去Python利器APP首页找,以下内容部分借鉴:https://blog.csdn.net/weixin_41084236/article/details/81564963#002_46

先给出50例,后面50例下次再更新~

下一篇:Data Visulazation with R_100_examples

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

num=[]
for i in range(1,5):for j in range(1,5):for k in range(1,5):if(j!=i and k!=j and i!=k):num.append(k+10*j+100*i)
len(num)
num

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

profit=int(input("利润(万元):"))#将字符串格式的输入转化为整型
bonus=0
if profit<=10:bonus=profit*0.1
elif profit<=20:bonus=(profit-10)*0.075+10*0.1
elif profit<=40:bonus=(profit-20)*0.05+10*0.075+10*0.1
elif profit<=60:bonus=(profit-40)*0.03+20*0.05+10*0.075+10*0.1
elif profit<=100:bonus=(profit-60)*0.015+20*0.03+20*0.05+10*0.075+10*0.1
else:bonus=(profit-100)*0.01+40*0.015+20*0.03+20*0.05+10*0.075+10*0.1
print("奖金(元):",bonus*10000) 

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

import numpy as np
for i in range(100000):a=int(np.sqrt(i+100)) #开方后应为整数b=int(np.sqrt(i+268))if a*a==i+100 and b*b==i+268:print(i)

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

#输入年月日
year=int(input("年:"))
month=int(input("月:"))
day=int(input("日:"))month_day0=[31,29,31,30,31,30,31,31,30,31,30,31] #闰年各月的天数
month_day1=[31,28,31,30,31,30,31,31,30,31,30,31] #平年各月的天数
month_day=[]
if year%400==0 or (year%4==0 and year%100!=0): #先判断是否为闰年month_day=month_day0
else:month_day=month_day1days=[]
if month==1:days=day
elif month==2:days=month_day[0]+day
else:days=sum(month_day[:(month-1)])+dayprint(days))

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

x,y,z=map(int,input("输入三个整数(逗号分隔):").split(','))
#输出结果由大到小
if y>x: #若y比x大,则交换两者的数值,保证最大值存在x中t=xx=yy=t
if z>x: #若z大于x,则交换两者的数值,此时x为最大的数,而y和z的大小关系不明确t=xx=zz=t
if z>y: #若z大于y,则交换两者的数值t=yy=zz=t
print("从大到小输出:",x,y,z)

#6.斐波那契数列

a=0
b=1
s=[]
for i in range(10): #前10个s.append(a+b)a=bb=s[i]
s

#7.将一个列表的数据复制到另一个列表中

mylist=[1,2,5,6,9,8,3]
copy=[]
for i in range(len(mylist)):copy.append(mylist[i])
copy

#8.输出9*9乘法表

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

#9.暂停一秒输出

import time
for i in range(3):print(time.ctime())time.sleep(1)

#10.暂停一秒输出并格式化当前时间

import time
for i in range(3):print(time.strftime("%Y-%m-%d %H:%M:%S",time.localtime(time.time())))#时间格式化#暂停一秒time.sleep(1)

#11.兔子繁殖问题——本质为斐波那契数列(略)

#12.判断101-200之间有多少素数,并输出

import numpy as np
sushu=[]
#在一般领域,对正整数n,如果用2到√n之间的所有整数去除,均无法整除,则n为质数
for i in range(101,201):flag=0k=int(np.sqrt(i))for j in range(2,k+1):if i%j==0: #凡是能整除则退出循环flag=1breakif flag==0:sushu.append(i)
print(sushu)
len(sushu)

#13.打印所有的水仙花数(一个三位数,其各位数字立方和等于该数本身)

#方法一
for i in range(1,10):for j in range(10):for k in range(10):if (i*100+j*10+k)==i*i*i+j*j*j+k*k*k:print(i*100+j*10+k)
#方法二
for n in range(100,1000):i=n//100 #整除取百分位j=(n%100)//10k=n%100%10if i**3+j**3+k**3==i*100+j*10+k:print(i*100+j*10+k)

#14.将一个正整数分解质因素(例如:输入90,打印出90=2*3*3*5。)

注:一遍一遍的从最小的质数整除,直至i=n结束。较难

n=int(input("输入一个正整数:"))
print(n,'= ',end='')
flag=0
while True:if flag:breakfor i in range(2,int(n+1)):if n%i==0:print("%d"%i,end='')if n==i:flag=1breakprint('*',end='')n=n/ibreak

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

grade=int(input("考了多少分?"))
level=[]
if grade>=90:level='A'
elif grade>=60:level='B'
else:level='C'
print("你的等级:",level)

#16.输出指定格式的日期

from datetime import datetime
now=datetime.now()#datetime格式
#将datetime转换为字符串
now.strftime('%Y-%m-%d')
now.strftime('%y/%m/%d')

#17.输入一行字符,分别统计其中英文字母、空格、数字和其他字符的个数。

mystring=input("输入一带有字母数字特殊符号的字符串:")
alpha=0
space=0
number=0
other=0
for i in mystring:if i>='a' and i<='z' or i>='A' and i<='Z':alpha+=1elif i>='0' and i<='9':number+=1elif i.isspace():space+=1else:other+=1
print(alpha,number,space,other)

#18.求s=a+aa+aaa+aaaa+aa…a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加由键盘控制。

import numpy as np
s=[]
for i in range(1,10): x=[]for j in range(0,5):x.append(i*np.power(10,j))y=np.cumsum(x)s.append(y)
np.sum(s,axis=1)  #1+11+111+1111+11111至9+99+999+9999+99999

#19.找出1000以内的所有完数。一个数恰好等于其因子之和,这个数叫做完数,例如:1+2+3=6

for x in range(1,1001):factor=[]for i in range(1,x):if x%i==0:factor.append(i)if sum(factor)==x:print(x)

#20.一个球从100米的高空落下,每次反弹至原来高度的一半,再落下,求它第10次落地时,共经过多少米?第10次反弹多高?

import numpy as np
for i in range(0,10):h=100*np.power(1/2,(i+1))print(h) #每次反弹的高度for i in range(10):if i==0:s=100else:h=100*np.power(1/2,i)s=s+h*2 #每次落地经过的距离print(s)

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

s=1
for i in range(10-1):s=2*(s+1)
print(s)

#22.两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。(巧用集合)

a=set(['x','y','z'])
b=set(['x','y','z'])
c=set(['x','y','z'])
c-=set(['x','z'])
a-=set(['x'])
for i in a:for j in b:for k in c:if len(set([i,j,k]))==3:print("a:%s,b:%s,c:%s"%(i,j,k))

#23.打印出菱形图案

for i in range(4):for j in range(3-i):print(' ',end='')for k in range(2*i+1):print('*',end='')print('')for i in range(3):for j in range(i+1):print(' ',end='')for k in range(5-2*i):print('*',end='')print('')

#24.有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13…求出这个数列的前20项之和

a=1
b=1
S=[]
S1=[]
for i in range(20):s=a+ba=bb=sS.append(s)
print(S) #分子S1=[1]+S[:19] #分母
import numpy as np
S=np.array(S) #将列表转化为数组
S1=np.array(S1)
sum(S/S1)

#25.求1+2!+3!+…+20!的和

for i in range(1,21):s=1S=0if i==1:S=1else:for j in range(1,i):s=s*jS=S+s
print("%d!+%d!+...+%d! = %d"%(1,2,20,S))

#26.利用递归公式求5!

for i in range(1,6):s=1if i==1:s=1else:for j in range(1,(i+1)):s=s*j
print("%d! = %d"%(5,s))

#27.将输入的5个字符,以相反的顺序打印出来

string=input("输入一串字符:")
for i in range(len(string)):print(string[(len(string)-1-i)])

#28.有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后问第一个人,他说是10岁。请问第五个人多大?

def howold(n):if n==1:age=10else:age=howold(n-1)+2return age
howold(5)

#29.给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。

(技巧解法:将数字转化为字符串逆序输出,参考27题)

x=int(input("输入5位以内的正整数:"))
st=[]
import numpy as np
for i in range(1,6):t=0flag=0if x//(np.power(10,i))==0:t=i #确定是几位数flag=1if flag==1:print(t)breakif t==1:print(x)
elif t==2:print(x%10,x//10)
else:for j in range(t,2,-1):st.append(x%np.power(10,j-1)//np.power(10,j-2))#除首尾之外的数字st=[x//np.power(10,(t-1))]+st+[x%10]st.reverse()    #将列表中的数字反向
print(st)

#30.判断一个五位数是不是回文数。

num=input("输入一个五位数:")
import copy
a=copy.copy(list(num)) #原数字的字符列表
b=list(num)
b.reverse() if a==b:print("%d是回文数"%(int(num)))
else:print("%d不是回文数"%(int(num)))

#31.将列表中的值以相反的顺序输出

mylist=list('woaipython')
for i in mylist[::-1]:print(i)

补充说明:

a[i:j:s] #当s<0时,i缺省时,默认为-1. j缺省时,默认为-len(a)-1,所以a[::-1]相当于 a[-1:-len(a)-1:-1],也就是从最后一个元素到第一个元素复制一遍。

#32.请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母。

week={'w':'wednesday','f':'friday','m':'monday'}
weekt={'u':'tuesday','h':'thurday'}
weeks={'u':'sunday','a':'saturday'}a=input("输入星期几的第一个字母:")if a=='t':b=input("请再输入第二个字母:")for keyt in weekt.keys():if b==keyt:print(weekt[b].title())
elif a=='s':b=input("请再输入第二个字母:")for keys in weeks.keys():if b==keys:print(weeks[b].title())
else:print(week[a].title())

#33.按逗号分隔列表

n=[1,2,3,4,5]
print(','.join(str(i) for i in n))

#34.练习函数的调用(简单)

def myfun(a,b):if a<b:c=a+belse:c=a-breturn c
myfun(5,3)    

#35.文本颜色设置

说明:Python中字符的颜色是由转义序列控制

开头:033[显示方式;前景色;背景色m

  1. 显示方式:0默认值,1高亮,22非粗体,4下划线,24非下划线,5闪烁,25非闪烁,7反显,27非反显;
  2. 前景色:30黑色,31红色,32绿色,33黄色,34蓝色,35洋红,36青色,37白色
  3. 背景色:40黑色,41红色,42绿色,43黄色,44蓝色,45洋红,46青色,47白色

结尾:033[0m

s="Hello world"
print('033[1;30;41m %s033[0m'%s)

#36.求100以内的素数(与12题类似)

import numpy as np
sushu=[2]
for i in range(3,101):flag=0k=int(np.sqrt(i))for j in range(2,k+1):if i%j==0:flag=1breakif flag==0:sushu.append(i)
np.array(sushu)

#37.对10个数进行排序。先将最小的数通过交换放在索引值为0位置上,再比较后面9个数将最小值通过交换放在1位置上,依此类推。

nlist=[1,21,65,33,24,41,67,95,4,10]
for i in range(10):if nlist[i]>min(nlist[i:]):k=nlist.index(min(nlist[i:])) #最小值的索引值t=min(nlist[i:]) #交换nlist[k]=nlist[i]nlist[i]=t
nlist

#38.求3×3矩阵的对角元素之和

def tr(A):s=0for i in range(3):for j in range(3):if i==j:s+=A[i,j]return s
tr(np.array([[1,2,3],[2,3,4],[4,5,6]]))

#39.有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。

x=[11,22,33,44,55,66,77,88,99] #以升序为例
y=int(input("插入数值:"))
if y<x[0]:x.insert(0,y) #填充位置 填充内容
elif y>x[len(x)-1]:x.insert(len(x),y)
else:for i in range(len(x)):if y>=x[i] and y<=x[i+1]:x.insert(i+1,y) break
x

#40.将一个数组逆序输出

import numpy as np
x=np.array([1,2,6,5,8])
#将数组转化为列表
x=list(x)
x.reverse()
x

#41.模仿静态变量的用法-构造类

静态变量通过类名可以直接访问,也可以通过实例名直接访问,此变量在类中全局共享,实例之间也是全局共享。

class test:grade=90level='合格'
mt=test()
mt.grade  #实例访问静态变量
test.level  #类名访问静态变量

#42.学习使用auto定义变量的用法

num=2 #全局变量
def autofunc():num=1 #局部变量print("internal block num = %d"%num)num+=1for i in range(3):print("The num = %d"%num)num+=1autofunc()

#43.模仿静态变量的另一个案例

class Coke:  #可乐formula=['sugar','water','coffein']  #类属性-配方def drink(self,name):  #实例方法-喝什么可乐print(name)def __init__(self):  #魔术方法print('好喝')
a=Coke()
a.drink('可口可乐')
a.formula

#44.学习使用external的用法

在hello.py文件中定义add函数,导入hello模块,调用add函数。

#45.统计1至100的和

s=0
for i in range(1,101):s=s+i
s

#46.求输入数字的平方,如果平方运算后小于50则退出

while True:x=int(input("输入数字:"))print("%d^2=%d"%(x,x**2))if x**2<50:break

#47.两个变量值交换

x='R'
y='python'
t=x
x=y
y=t
print("x:%s, y:%s"%(x,y))

#48.数字比较

def compare(x,y):if x>y:print("%d大于%d"%(x,y))elif x==y:print("%d等于%d"%(x,y))else:print("%d小于%d"%(x,y))
compare(13,4)

#49.使用lambda来创建匿名函数

y=lambda x:x+100
y(10)

#50.输出一个随机数

import random
random.random()                 #[0.0, 1.0) 之间的浮点数
random.randint(1,9)             #[a,b]之间的随机整数
random.uniform(1,9)             #[a,b]之间的随机浮点数
random.randrange(2,10)          #[a,b)之间的随机偶数
random.choice('abcdefg&#%^*f')  #随机字符
random.sample(['apple','pear','banana','pineapple','watermelon'],3) #随机抽样

Python一亿以内的素数个数_Python编程100例(上)相关推荐

  1. Python一亿以内的素数个数_Python 计数质数

    一个很经典的问题,从 2 到 N ,一共有多少个质数?? 一个非常 Naive 的方法,从 2 到 N,判断每个数是不是质数 只判断一个数是不是质数,需要 的时间,现在有 N 个数,那么就是 埃拉托斯 ...

  2. Python一亿以内的素数个数_Python+django网页设计入门(17):模板语法及应用

    前导课程: Python+django网页设计入门(16):优化设计复用分页代码 Python+django网页设计入门(15):公用模板设计与使用 Python+django网页设计入门(14):使 ...

  3. Python一亿以内的素数个数_Python+django网页设计入门(18):自定义模板过滤器

    前导课程: Python+django网页设计入门(17):模板语法及应用 Python+django网页设计入门(16):优化设计复用分页代码 Python+django网页设计入门(15):公用模 ...

  4. python找1000以内的完数_Python编程题3--找出1000以内的完全数

    题目 如果一个数恰好等于它的因子之和,则称该数为"完全数",又称完美数或完备数.例如: 第一个完全数是6,它有约数1.2.3.6,除去它本身6外,其余3个数相加,1+2+3=6. ...

  5. 用c语言求1 n的素数个数 给出两种解法,【题目】求n以内的素数个数

    最近在leetCode上刷提,还是满锻炼人的,为以后面试打基础吧.不多说下面开始. 问题:求[2,n]之间的素数的个数. 来源:leetCode OJ 提示: Let's start with a i ...

  6. 用“埃氏筛法”求2~10000以内的素数。2~100以内的数,先去掉2的倍数,再去掉3的倍数,再去掉5的倍数,……依此类推,最后剩下的就是素数。

    需求:用"埃氏筛法"求2-100以内的素数.2-100以内的数,先去掉2的倍数,再去掉3的倍数,再去掉5的倍数,--依此类推,最后剩下的就是素数.(JAVA语言编写) 埃氏筛选:要 ...

  7. Week 2互评作业:用“埃氏筛法”求2~100以内的素数。2~100以内的数,先去掉2的倍数,再去掉3的倍数,再去掉5的倍数,……依此类推,最后剩下的就是素数。

    用"埃氏筛法"求2-100以内的素数.2-100以内的数,先去掉2的倍数,再去掉3的倍数,再去掉5的倍数,--依此类推,最后剩下的就是素数. 要求使用数组及增强的for语句. pa ...

  8. Python音乐跳舞毯(基于海龟画图创作的作品,来自Python创意编程100例sprites篇_Python精灵模块)

    出色的配音是本作品的一大亮点哦! 相信这竟然是Python用海龟画图制作的作品吗? sprites模块就是用python的turtle模块制作的!所以本作品仍属于Python海龟画图作品 " ...

  9. Python奥特曼打怪兽射击游戏(基于海龟画图创作的作品,来自Python创意编程100例sprites篇_Python精灵模块)

    相信这竟然是Python用海龟画图制作的作品吗? sprites模块就是用python的turtle模块开发的!所以本作品仍属于Python海龟画图作品 """奥特曼打怪 ...

最新文章

  1. 程序员:我受够了!不想再在小厂里干Java了!
  2. 华为2017java笔试题_2017年java华为面试题
  3. android glide加载不出图片_Glide实现共享元素无缝转场效果,只需四步!
  4. 汇编语言---内存变量的地址
  5. WindowsApi 解压缩文件
  6. linux运维命令3
  7. 知乎APP---案例分析
  8. 【4G通讯模组相关】 TCPIP连接本地电脑测试 、内网穿透
  9. Google Hack 最新版
  10. 解决谷歌浏览器最新chrome94版本CORS跨域问题
  11. 以正方体一个顶点进行旋转的3D立方体动画
  12. 香港部分超市因内地游客抢购奶粉发出限购令
  13. 使用JLINK仿真器调试树莓派4
  14. win10怎么设置动态壁纸
  15. 【论文简述及翻译】PWC-Net: CNNs for Optical Flow Using Pyramid, Warping, and Cost Volume(CVPR 2018)
  16. Docker最全总结,DockerFile,Docker编排容器,Docker镜像,Docker-compose构建
  17. 如何确定当前的iPhone /设备型号?
  18. 设计模式中的工厂类图
  19. 搜狗浏览器默认皮肤无法修改问题
  20. 56 道高频 JavaScript 与 ES6+ 的面试题及答案

热门文章

  1. 如何安装谷歌服务框架?(Google三件套下载教程)
  2. 分椰子c语言csdn,水手分椰子——迭代法、递归解题
  3. 有符号数和无符号数的范围
  4. C语言无符号数与有符号数的运算原则
  5. 利用163 邮箱发送邮件
  6. 全球及中国生物敷料市场竞争态势与投资风险分析报告2022年
  7. ai边缘平滑_Illustrator初学者的问题 AI新增页面 AI形状 渐变以后边缘有锯齿 修整工具...
  8. 利用 element ui 进度条实现渐变 条纹进度条
  9. 家装灯线走线图_二十年资深装修电工是如何布线的?家庭装修电工布线图详解...
  10. 【dubbo-2.5.x】Linux下dubbo-admin监控/管理平台部署详细教程