python入门题
每天五题练习
本文章记录了python经典编程题目,初学者必须要学会哦
实例 066:
题目:用户输入位数n,找出并显示出所有n位的自幂数。(自幂数是指一个n位正整数,如果它的各位数字的n次方的和加起来等于这个数,数学家称这样的数为自幂数。例如,13+53+33=153,153就是一个3位的自幂数,3位自幂数也称为水仙花数。本程序设n的数值为1~6,当n大于6时,程序退出。)
【程序实现】
#自幂数
start=0
end=0
digit=0
m=0
n=int(input('请选择自幂数的位数【1,2,3,4,5,6】:'))
while 0<n<7:
start=pow(10,n-1)
end=pow(10,n)-1
print(n,'位数的自幂数有:')
for k in range(start,end+1):
m=k
total=0
while m!=0:
digit=m%10
total+=pow(digit,n)
m=m//10
if total==k:
print(str(k),end=' ')
n=int(input('\n 请选择自幂数的位数【1,2,3,4,5,6】:'))
else:
print('输入位数不在范围内,程序结束。')
实例 067:
题目:编写程序,解一元二次方程 ax2+bx+c=0。
from math import *
print("本程序求 ax^2+bx+c=0 的根")
a=float( input("请输入 a:") )
b=float( input("请输入 b:") )
c=float( input("请输入 c:") )
delta=b*b-4*a*c
if(delta>=0):
delta=sqrt(delta)
x1=(-b+delta)/2/a
x2=(-b-delta)/(2*a)
print("两个实根分别为:",x1,x2)
else:
print("没有实根")
实例 068:
题目:输入两个整数,打印它们相除之后的结果。对输入的不是整数或除数为零,进行异常处理。
k=0
while(k<3):
try:
x=int(input('请输入第一个整数:'))
y=int(input('请输入第二个整数:'))
print('x/y=',x/y)
except ValueError:
print('请输入一个整数。')
except ZeroDivisionError:
print('除数不能为零。')
k=k+1
实例 069:
题目:定义公民类,实例成员变量有身份证号、姓名、年龄和性别。定义公民类的派生类:学生类和教师类。学生类增加实例成员变量学号、班级和分数;教师类增加实例变量工号、系别和工资。编写主程序, 定义类的对象,设置对象的实例属性,显示对象的信息。
class Citizen:
def __init__(self,id,name,age,sex):
self.id = id
self.name = name
self.age = age
self.sex = sex
class Student(Citizen):
def __init__(self,id,name,age,sex,stdno,grade,score):
super(Student, self).__init__(id,name,age,sex)
self.stdno = stdno
self.grade = grade
self.score = score
class Teacher(Citizen):
def __init__(self,id,name,age,sex,thno,dept,salary):
super(Teacher, self).__init__(id,name,age,sex)
self.thno = thno
self.dept = dept
self.salary = salary #主程序
c=Citizen('101','zhang',20,'female')
print(c.id,c.name,c.age,c.sex)
s=Student('102','wang',30,'male',1221,'computer12',630)
print(s.id,s.name,s.age,s.sex,end=" ")
print(s.stdno,s.grade,s.score)
t=Teacher('103','li',36,'male',356,'eie',4500)
print(t.id,t.name,t.age,t.sex,end=" ")
print(t.thno,t.dept,t.salary)
实例 070:
题目:哥德巴赫猜想说是说,任何一个超过2的偶数都可以写成两个素数之和,例如,4=2+2,8=5+3等。本例要求根据用户输入的偶数找出其素数和的分解形式。
def main():
# 输入待验证的偶数
N=int(input("请输入待验证的偶数:"))
while N<3 or N%2==1:
print("输入的数不符合要求")
N=int(input("请输入待验证的偶数n(n>2):"))
#生成素数表
Prime=set()
for i in range(2,N+1):
Prime.add(i)
for i in range(2,N+1):
if i in Prime:
for k in range(2*i,N+1,i):
if k in Prime:
Prime.remove(k)
#验证该偶数能否分解为两个素数之和
for e in Prime:
f=N-e
if f>=e and f in Prime:
print(N,'=',e,'+',f)
main()
今天的任务完成啦~
明天继续加油~冲冲冲!