python class 作业03
在数字范围[1,7]之间,任意选择两个不相同的数作为一个组合,输出每一组组合,并统计所有组合的个数。输入表示今天是一周内哪一天的数字(星期天是0,星期一是1,…注:组合(a,b)与组合(b,a)算同一种组合,只记录一次’‘’一个大于1的整数如果只能被正整数1和它本身整除,则它就是素数,输入两个正整数,计算其最大公约数,例如4和2的最大公约数是2,输入a、b、c、d、e、f六个数据,数据之间用空格分
01.
计算车费
题目描述
小红打车,起步价8元(3公里), 每公里收费 2 元,她打车行驶了 n 公里,计算车费
输入描述
输入一个公里数
输出描述
输出应付车费
示例
代码实现
try:
n=int(input("行驶的公里数:"))
#判断公里数
if 0<=n<=3:
fare=8 #计算车费
print("应付车费:",fare)
elif n>3:
fare=8+2*(n-3)
print("应付车费:",fare)
else:
print("输入了一个负数")
except:
print("错误")
代码运行
02.判定闰年
题目描述
一个年份如果能被4整除但不能被100整除,或者能被400整除,那么这个年份就是闰年
输入输出描述
输入一个年份
输出Yes表示该年份为闰年,No则表示不是闰年
示例1
输入:
2008
输出:
Yes
示例2
输入:
2002
输出:
No
代码实现
try:
leap_year = int(input("输入一个年份:"))
if (leap_year % 4 == 0 and
leap_year % 100 != 0 or
leap_year % 400 == 0):
print("Yes")
else:
print("No")
except:
print("错误")
代码运行

03.未来周几
题目描述
输入表示今天是一周内哪一天的数字(星期天是0,星期一是1,…,星期六是6)
并输入今天之后到未来某天的天数,然后输出该天是星期几
输入描述
分别输入两个数据,表示今日星期几的数字和未来某天的天数
输出描述
输出未来某天是星期几
示例1
输入:
1
3
输出:
星期四
示例2
输入
0 31
输出:
星期三
代码实现
try:#定义变量
number = int(input("输入今天是一周内哪一天的数字(星期天是0,星期一是1,...,星期六是6):"))
day = int(input("输入未来某天的天数:"))
#计算
future = (day + number) % 7
#判断
if future == 0:
print("星期天")
elif future == 1:
print("星期一")
elif future == 2:
print("星期二")
elif future == 3:
print("星期三")
elif future == 4:
print("星期四")
elif future == 5:
print("星期五")
elif future == 6:
print("星期六")
else:
print("输出有误")
except:
print("错误")
代码运行
04.方程求解
题目描述
如有一个2×2的线程方程组:
ax+by=ecx+dy=f ax+by=e \\ cx+dy=f ax+by=ecx+dy=f
你可以使用克莱姆法则解该线性方程:
x=ed−bfad−bc,y=af−ecad−bc x=\frac{ed-bf}{ad-bc},y=\frac{af-ec}{ad-bc} x=ad−bced−bf,y=ad−bcaf−ec
其中ad−bcad-bcad−bc为判别式,如果为零则输出无解
输入输出描述
输入a、b、c、d、e、f六个数据,数据之间用空格分隔
输出两行,第一行x的解,第二行y的解,保留一位小数
示例1
输入:
9.0 4.0 3.0 -5.0 -6.0 -21.0
输出:
-2.0
3.0
示例2
输入:
1.0 2.0 2.0 4.0 4.0 5.0
输出:
无解’‘’
代码实现
while True:#循环
try:#定义
a=float(input("输入ax+by=e cx+dy=f中的a:"))
b=float(input("输入ax+by=e cx+dy=f中的b:"))
c=float(input("输入ax+by=e cx+dy=f中的c:"))
d=float(input("输入ax+by=e cx+dy=f中的d:"))
e=float(input("输入ax+by=e cx+dy=f中的e:"))
f=float(input("输入ax+by=e cx+dy=f中的f:"))
#判断
if a*d-b*c==0:
print("无解")
else:
x=(e*d-b*f)/(a*d-b*c)#计算
y=(a*f-e*c)/(a*d-b*c)
print(f"x:{x:.1f},y:{y:.1f}")
#判断什么时候终止程序
q=input("按Q,退出程序")
if q=="Q":
print("即将退出程序")
break
except:
input("错误,重新输入")
代码运行
05.三角形周长
题目描述
输入三角形三边的长度,如果输入合法则计算周长并输出结果;否则输出非法
如果任意两边之和大于第三边则输入都是合法的
输入输出描述
输入三个数据表示三边,数据之间用空格分隔
输出三角形的周长,如果非法则输出非法
示例1
输入:
1 1 1
输出:
3
示例2
输入:
1 3 1
输出:
非法’‘’
代码实现
while True:
try:#定义
a = float(input("三角形的一边a:"))
b = float(input("三角形的一边b:"))
c = float(input("三角形的一边c:"))
#判断并计算
if a + b > c and a + c > b and b + c > a:
print("输入合法")
perimeter = a + b + c
print("周长:", perimeter)
else:
print("不合法输入")
#判断什么时候终止程序
q = input("按q退出")
if q == "q":
print("即将退出")
break
except:
print("错误")
代码运行
06.
- 图形构建
题目描述
输入一个整数n,按照下面的格式输出n行满足规律的数据
输入描述
输入一个整数n,表示输出n行数据
输出描述
输出满足规律的数字组成的图形(示例中的几种模式分别输出)
示例
模式A
1
1 2
1 2 3
1 2 3 4
1 2 3 4 5
1 2 3 4 5 6
模式B
1 2 3 4 5 6
1 2 3 4 5
1 2 3 4
1 2 3
1 2
1
模式C
1
2 1
3 2 1
4 3 2 1
5 4 3 2 1
6 5 4 3 2 1
模式D
1 2 3 4 5 6
1 2 3 4 5
1 2 3 4
1 2 3
1 2
1
代码实现
#6行6列
print("模式A")
print("~~~~~~~~~~~~~~~~~~~~~")
#定义变量,声明变量,行的变量
x=1
#行的循环6
while x<=6:
#定义变量,列的变量
y=1
#列的循环,与x 6
while y<=x:
print(y,end=" ")
y+=1
#换行
print()
x+=1
print()
print("模式B")
print("~~~~~~~~~~~~~~~~~~~~~")
x=1
while x<=6:
y=1
while y<=6-x+1:
print(y,end=" ")
y+=1
print()
x+=1
print()
print("模式C")
print("~~~~~~~~~~~~~~~~~~~~~")
x=1
while x<=6:
z=1
while z<=6-x:
print(" ",end=" ")
z+=1
y=1
while y<=x:
print(x-y+1,end=" ")
y+=1
print()
x+=1
print()
print("模式D")
print("~~~~~~~~~~~~~~~~~~~~~")
x=1
while x<=6:
z=1
while z<=x-1:
print(" ",end=" ")
z+=1
y=1
while y<=6-x+1:
print(y,end=" ")
y+=1
print()
x+=1
代码运行
07.判断素数
题目描述
一个大于1的整数如果只能被正整数1和它本身整除,则它就是素数,
例如2、3、5和7都是素数,而4、6、8、9则不是
输入描述
输入一个大于1的正整数
输出描述
输出Yes表示该数字是素数,否则输出No
示例1
输入:
9
输出:
No
示例2
输入:
11
输出:
Yes’‘’
代码实现
while True:
try:
n=int(input("输入一个大于1的正整数:"))
t=True
if n>1:
for i in range(2,n):
if n%i==0:
t=False
break
else:
print("输入了一个小于等于1的数,请重新输入")
t=False
if t:
print("Yes")
else:
print("No")
q=input("按Q退出")
if q=="Q":
break
except:
print("错误")
代码运行
08.最大公约数
题目描述
输入两个正整数,计算其最大公约数,例如4和2的最大公约数是2,
16和24的最大公约数是8
输入描述
输入两个数字
输出描述
输出最大公约数
示例1
输入:
16 24
输出:
8
示例2
输入:
7 3
输出:
1’‘’
代码实现
while True:
try:
num1=int(input("输入正整数1:"))
num2=int(input("输入正整数2:"))
def gcd(a,b):
while b!=0:
a,b=b,a%b
return a
print(gcd(num1,num2))
q=input("按Q退出")
if q=="Q":
break
except:
print("错误")
代码运行
09.
题目描述
你可以使用下面的数列近似计算π
π=4(1−13+15−17+19−111+...+(−1)i+12i−1) π=4(1-\frac{1}{3}+\frac{1}{5}-\frac{1}{7}+\frac{1}{9}-\frac{1}{11}+...+\frac{(-1)^{i+1}}{2i-1}) π=4(1−31+51−71+91−111+...+2i−1(−1)i+1)
当i越大时,计算结果越近似于π’‘’
代码实现
while True:
try:
i=int(input("输入一个大于等于1的数:"))
if i>=1:
pi=0
for i in range(1,100):
if(i%2==1):
x=1
else:
x=-1
pi+=1/(2*i-1)*x
print("n值为:",4*pi)
q=input("按Q退出")
if q=="Q":
break
except:
print("错误")
代码运行
10. 排列组合
题目描述
在数字范围[1,7]之间,任意选择两个不相同的数作为一个组合,输出每一组组合,并统计所有组合的个数
注:组合(a,b)与组合(b,a)算同一种组合,只记录一次’‘’
代码实现
while True:
try:
sum=0
for i in range(5,1,-1):
sum+=i
print("一共有"+str(sum)+"可能")
q=input("按Q退出")
if q=="Q":
break
except:
print("错误")
代码运行
w01.计算e
题目描述
你可以使用下面的数列近似计算e
e=1+11!+12!+13!+14!+...+1i! e=1+\frac{1}{1!}+\frac{1}{2!}+\frac{1}{3!}+\frac{1}{4!}+...+\frac{1}{i!} e=1+1!1+2!1+3!1+4!1+...+i!1
当i越大时,计算结果越近似于e’‘’
代码实现
while True:
try:
x=1
sum=0
sum=float(sum)
for i in range(1,100):
x=x*i
sum+=1/x
print("e的值为",sum+1)
q=input("按Q退出")
if q=="Q":
break
except:
print("错误")
代码运行
w02.组合
题目描述
有1、2、3、4这个四个数字,能组成多少个互不相同且无重复数字的三位数?分别又是多少?‘’’
代码实现
while True:
try:
digits=[1,2,3,4]
x=0
for i in range(1,5):
for j in range(1, 5):
if(i!=j):
for k in range(1, 5):
if(i!=k) and (j!=k):
x+=1
print(100*i+10*j+k)
print("共有"+str(x)+"种可能")
q=input("按Q退出")
if q=="Q":
break
except:
print("错误")
代码运行
w03.水仙花
题目描述
水仙花数,是一个三位数,
且这个数的个位、十位和百位的立方和等于该数字本身,例如153=13+53+33153=1^3+5^3+3^3153=13+53+33
编写程序,输出所有的水仙花数’‘’
代码实现
while True:
try:
print("水仙花数有:")
for i in range(100,1000):
a=i//100
b=i%100/10
c=i%100%10
if(i==a**3+b**3+c**3):
print(i)
q=input("按Q退出")
if q=="Q":
break
except:
print("错误")
代码运行
w04.进制
题目描述
编写代码,实现十进制数据转换二进制、二进制转换十进制、十进制转换十六进制、
十六进制转换十进制的代码实现
输入描述
输入一个原始数据
输出描述
输出一个转换后的数据
示例
输入一个数据(十进制): 3
输出(二进制):11’‘’
代码实现
while True:
try:
x = int(input("输入(十进制):"))
i_list = []
while (x != 0):
i = x % 2
i_list.append(str(i))
x = x // 2
i_list.reverse()
print(''.join(i_list))
q=input("按Q退出")
if q=="Q":
break
except:
print("错误")
代码运行
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)