python程序设计与数据分析 第二章编程题自编参考

 IDLE (Python 3.11 64-bit)

8995e20c0a9c41fcb1937df72b877ce9.jpeg

三、编程题
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))

 

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值