Python⼊门20个⼩程序
生活中常见的数据库应用Python⼩程序集锦
程序1:数字组合
问题描述:
有四个数字:1、2、3、4,能组成多少个互不相同且⽆重复数字的三位数?各是多少?
问题分析:
可填在百位、⼗位、个位的数字都是1、2、3、4。组成所有的排列后再去掉不满⾜条件的排列。
for i in range(1,5):
for j in range(1,5):
for k in range(1,5):
python基础代码100例if i!=j and j!=k and i!=k:
print(i,j,k)
程序2:猜数字
问题描述:
⼀个整数,它加上100和加上268后都是⼀个完全平⽅数,请问该数是多少?
问题分析:
在10000以内判断,将该数i加上100后再开⽅,加上268后再开⽅,如果开⽅后的结果满⾜如下条件,即是结果。
xx =(i+100)
yy=(i+268)
import math
for i in range(1,10000):
x=int(math.sqrt(i+100))
y=int(math.sqrt(i+268))
if(x*x==i+100)and(y*y==i+268):
print(i)
程序3:猜时间
问题描述:
输⼊某年某⽉某⽇,判断这⼀天是这⼀年的第⼏天?
问题分析:
以3⽉5⽇为例,应该先把前两个⽉的加起来,然后再加上5天即本年的第⼏天,特殊情况,闰年且输⼊⽉份⼤于2时需考虑多加⼀天。
year=int(input("请输⼊年份"))
month=int(input("请输⼊⽉份"))
day=int(input("请输⼊⽇期"))
months=(0,31,59,90,120,151,181,212,243,273,304,334)
if0<month<=12:
sum=months[month-1]
else:
print('输⼊的⽉份有误')
sum+=day
leap=0
if(year%400==0)or((year%4==0)and(year%100!=0)):
leap=1
if(leap==1)and(month>2):
sum+=1
print("今天是第%d天"%sum)
程序4:判断整数⼤⼩
问题描述:
输⼊三个整数x,y,z,请把这三个数由⼩到⼤输出。
问题分析:
可以借助列表的sort⽅法完成排序。⾸先将⽤户输⼊的整数存放在列表中,列表从⼩到⼤排序后,通过遍历的⽅式输出列表中的值即可。
x=int(input("请输⼊进⾏⽐较的第1个数:"))
y=int(input("请输⼊进⾏⽐较的第2个数:"))
z=int(input("请输⼊进⾏⽐较的第3个数:"))
list=[x,y,z]
list.sort()
for i in range(len(list)):
print(list[i])
程序5:斐波那契数列
程序分析
斐波那契数列(Fibonacci sequence),⼜称黄⾦分割数列,指的是这样⼀个数列:0、1、1、2、3、5、8、13、21、34、……。
在数学上,费波那契数列是以递归的⽅法来定义:
F0 = 0 (n=0)
F1 = 1 (n=1)
Fn = F[n-1]+ F
def fib(n):
if n==1or n==2:
return1
return fib(n-1)+fib(n-2)
print(fib(10))
程序6:⽔仙花数
程序分析
所谓“⽔仙花数”是指⼀个三位数,其各位数字⽴⽅和等于该数本⾝。例如:153是⼀个“⽔仙花数”,因为153=1的三次⽅+5的三次⽅+3的三次⽅。
for i in range(100,1000):
a=int(i/100)
b=int(i/10)%10
c=i%10
if i==a**3+b**3+c**3:
print(i)
程序7:数字求和
程序分析
根据程序描述,该程序实现过程⼤概分为如下⼏步:
1. 提⽰⽤户输⼊第1个数字
2. 提⽰⽤户输⼊第2个数字
3. 对两个数字进⾏相加
4. 输出两个数字相加的和
num1=input("请输⼊第1个数字:")
num2=input("请输⼊第2个数字:")
sum=float(num1)+float(num2)
print("数字%s和%s相加之和是%.1f"%(num1,num2,sum))
程序8:平⽅根
程序分析
关于计算平⽅根的,可以使⽤在指数运算符 ** 来计算改数的平⽅根,也可以使⽤math函数中的sqrt,不同的是,指数**只适⽤于正数,⽽sqrt适⽤于任何数。接下来,按照下列步骤实现程序:
1. 提⽰⽤户输⼊⼀个数(必须将输⼊的数转为数字类型)
2. 使⽤math函数的sqrt计算这个数的平⽅根
3. 输出运算结果
import math
num=int(input("请输⼊要计算平⽅根的数字:"))
result=math.sqrt(num)
print("数字%d的平⽅根是%f"%(num,result))
程序9:if语句
程序分析
正数、负数或零的判断⾮常简单,只需要判断这个数是否⼤于零,⼩于零或者等于零。由于判断的条件⼤于2个,这⾥我们使⽤if…elif…else判断。
num =float(input("输⼊⼀个数字: "))
if num >0:excelfrequency函数怎么用
print("正数")
elif num ==0:
print("零")
else:
print("负数")
程序10:阿姆斯特朗数
程序分析
如果⼀个n位正整数等于其各位数字的n次⽅之和,则称该数为阿姆斯特朗数。 例如1^3 + 5^3 + 3^3 = 153。
1000以内的阿姆斯特朗数: 1, 2, 3, 4, 5, 6, 7, 8, 9, 153, 370, 371, 407。
# 获取⽤户输⼊的数字
num =int(input("请输⼊⼀个数字: "))
# 初始化变量 sum
sum=0
# 指数
n =len(str(num))
# 检测
temp = num
while temp >0:
digit = temp %10
sum+= digit ** n
temp //=10
# 输出结果
if num ==sum:
print(num,"是阿姆斯特朗数")
else:
print(num,"不是阿姆斯特朗数")
程序11:输出指定范围的素数(else语句)
程序分析
由程序描述可知,要想输出指定范围的素数,可以按照下列步骤开发:
1. 提⽰⽤户输⼊指定的范围,分别是范围的最⼩值和最⼤值
2. 使⽤for循环在指定范围内进⾏循环
3. 由于满⾜素数的条件是只能被1和本⾝整除,所以可以使⽤if语句判断是否能整除,如果能,则输出素数。
lower =int(input("输⼊区间最⼩值: "))
upper =int(input("输⼊区间最⼤值: "))
for num in range(lower,upper +1):
# 素数⼤于 1
if num >1:
for i in range(2,num):
if(num % i)==0:virtual choir
break
else:
print(num)
程序12:⽣成⽇历
程序分析
Calendar模块有很⼴泛的⽅法⽤来处理年历和⽉历,例如打印某⽉的⽉历。
# 引⼊⽇历模块
import calendar
# 输⼊指定年⽉
yy =int(input("输⼊年份: "))
mm =int(input("输⼊⽉份: "))
# 显⽰⽇历
h(yy,mm))
程序13:统计字符串中的字符
程序分析
开发步骤如下:
1. 提⽰⽤户输⼊字符串
2. 声明四个变量,分别⽤于统计英⽂字母、空格、数字和其他字符的个数
3. 使⽤for循环遍历字符串中的字符,使⽤if判断语句判断遍历的字符满⾜哪个条件,如果满⾜条件,则对应的变量加1
str=input("请输⼊⼀个字符串:")
letters =0
space =0
digit =0
others =0
for c in str:
单例模式项目if c.isalpha():
letters +=1
elif c.isspace():
space +=1
elif c.isdigit():
digit +=1
else:
others +=1
print("字符串共有%d个英⽂字母,%d个空格,%d个数字,%d个其他字符
"%(letters,space,digit,others))
程序14:⽂件的读取
程序分析
开发步骤如下:
1. 提⽰⽤户输⼊⼀个字符串
2. 使⽤字符串的upper⽅法将字符串的⼩写字母全部转换为⼤写字母
3. 使⽤write⽅法将字符串写⼊⽂件,需要注意的是,在写⽂件之前,⾸先要打开⽂件,完成写数据的操作后,要切记关闭⽂件。
fp =open('','w')
string =input('please input a string:\n')
string = string.upper()
fp.write(string)
fp =open('','r')
ad())
fp.close()//⼀定要关闭⽂件资源,以防资源浪费
程序15:⼗进制转⼆进制、⼋进制、⼗六进制
程序分析
不同进制之间的转换,需要⽤到下列⽅法:
1、 bin():将⼗进制的数转为⼆进制
2、 oct():将⼗进制的数转为⼋进制
3、 hex(): 将⼗进制的数转为⼗六进制
# 获取⽤户输⼊⼗进制数
range函数怎么用dec =int(input("输⼊数字:"))
print("⼗进制数为:", dec)
print("转换为⼆进制为:",bin(dec))
print("转换为⼋进制为:",oct(dec))
print("转换为⼗六进制为:",hex(dec))
程序16:⽣成10个两位的随机素⾷
程序分析
Python的random模块提供了随机数⽣成⽅法random.randint(a,b),它返回⼀个⼤于等于a,⼩于等于b的随机整数。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论