IDLE (Python 3.11 64-bit)
三、编程题
1.请编写程序、实现十进制数转换成二进制数、 八进制数或者十六进制数,而且要
求运行程序时显示如下提示信息。
(1)二进制 (2)八进制 (3)十六进制
请选择1.2或者3:
2.请编写程序,实现四则运算的计算,例如: 当输入四则运算表达式“3+5*6=”时,
能计算并输出表达式的计算结果。
3.输入一个正整数n,求1+2+3+.. ·+n的累加和。 要求显示“1+2+3+.+n的累加和。
4.输人n(n≥5),求n!.要求显示:"n!为: (此处放计算得到的值)”。
5.编写程序,实现角度转换弧度的计算,如: 当输人“30”时,计算出对应的弧度值,
并输出“30°转换成弧度的值是:0.52”。
6.编写程序, 实现从键盘分别输入扇形半径与扇形圆心角的度数, 计算并输出扇形
面积。(注:扇形圆心角的度数angle 的范围为0<angle<=360
1.
number10=int(input('输入十进制数'))
choose=input('选择n进制')
if int(choose)==2:
print('二进制:')
print(bin(number10))
elif int(choose)==8:
print('8进制:')
print(oct(number10))
elif int(choose)==16:
print('16进制:')
print(hex(number10))
else:
print('none')
2.
a=input("输入算式")
suan=[]
for each in a:
suan.append(each)
"加入一个数列"
n=len(suan)
t=0
i=1
change=0
while change<n:
if (suan[change]!='*')and(suan[change]!='+')and(suan[change]!='-')and(suan[change]!='/')and(suan[change]!='='):
suan[change]=int(suan[change])
change=change+1
"所以数字字符串转int"
c2=0
x=0
y=0
thesum=0
while c2<n:
if (suan[c2]!='*')and(suan[c2]!='+')and(suan[c2]!='-')and(suan[c2]!='/')and(suan[c2]!='='):
x=x+1
if (suan[c2]=='*')or(suan[c2]=='+')or(suan[c2]=='-')or(suan[c2]=='/')or(suan[c2]=='='):
if(x>=2):
while y<x:
thesum=suan[c2-1-y]*10**y+thesum
y=y+1
while y==x:
linshi=x
while linshi!=0:
del suan[c2-x]
linshi=linshi-1
suan.insert(c2-x,thesum)
c2=0
n=len(suan)
x=0
thesum=0
y=0
if(x<2):
x=0
c2=c2+1
"辅助多位数计算"
while i<n:
if suan[i]=='*':
num1=suan[i-1]
num2=suan[i+1]
num3=num1*num2
del suan[i-1]
del suan[i-1]
del suan[i-1]
suan.insert(i-1,num3)
t=t+1
n=len(suan)
i=1
elif suan[i]=='/':
num1=suan[i-1]
num2=suan[i+1]
num3=num1/num2
del suan[i-1]
del suan[i-1]
del suan[i-1]
suan.insert(i-1,num3)
t=t+1
n=len(suan)
i=1
else:
i=i+1
print(suan)
"乘法计算"
"除法计算"
i=0
while i<n:
if suan[i]=='+':
num1=suan[i-1]
num2=suan[i+1]
num3=num1+num2
del suan[i-1]
del suan[i-1]
del suan[i-1]
suan.insert(i-1,num3)
t=t+1
n=len(suan)
i=1
elif suan[i]=='-':
num1=suan[i-1]
num2=suan[i+1]
num3=num1-num2
del suan[i-1]
del suan[i-1]
del suan[i-1]
suan.insert(i-1,num3)
t=t+1
n=len(suan)
i=1
else:
i=i+1
print(suan)
"加法计算"
"减法计算"
print(round(suan[0],2))
3.
sum=0
n=int(input('输入n='))
for i in range(n+1):
sum=i+sum
print("sum=",sum)
4.
n=int(input('输入n='))
result=1
for i in range(n):
result=(i+1)*result
print("n!为",result)
5.
angle=int(input("输入角度(pi取3.14):"))
print(round(3.14*angle/180,2))
6.
r=int(input("输入r(pi=3.14)="))
angle=int(input("输入角度="))
print(round(3.14*r*r*angle/360,2))