第4章 结构与控制——笔记七

#第4章 控制与结构
#实验4.1 程序设计实验
'''题目(1):计算整数长度。从键盘输入一个整数n,计算并输出n的长度'''
x=eval(input('请输入一个整数:'))
s=str(x)
print('输入的整数长度为:',len(s))
#由于只是习题练习,并未做输入错误检测
'''题目(2):从键盘输入实数x,并输出y(表达式在教材P98页)'''
x=eval(input('请输入一个实数:'))
if x>=0:
    print('y=',x*x-5*x+9)
else:
    print('y=',x*x+5*x-9)
'''题目(3):从键盘输入实数x,计算并输出符号函数sign(x)的值'''
x=eval(input('请输入一个实数:'))
if x<0:
    print('sign(',x,')=',-1,sep='')
elif x==0:
    print('sign(',x,')=',0,sep='')
else:
    print('sign(',x,')=',1,sep='')
'''题目(4):判断素数。从键盘输入一个整数n,判断并输出n是否为素数'''
x=eval(input('请输入一个整数:'))
flag=1
i=2
while i<x:
    if(x%i==0):
        print(x,'不是素数',sep='')
        flag=0
        break
    i=i+1
if flag==1:
     print(x,'是素数',sep='')

'''题目(5):最大公约数。从键盘输入两个整数m、n,计算并输出m、n的最大公约数'''
m,n=eval(input('请输入两个整数:'))
k=1
if m<n:
    i=m
    m=n
    n=i
i=1
while(i<=n):
    if m%i==0 and n%i==0:
        k=i*k
    i=i+1
if(k==1):
    k=m*n
print(m,'、',n,'的最大公约数是:',k,sep='')

'''题目(6):从键盘输入实数x和整数n,计算并输出f(n)和f(x,n)(表达式来自教材)'''
x,n=eval(input('请依次输入一个实数和一个整数:'))
#计算n!
def f1(i):
    s=1
    while(i!=1):
        s=s*i
        i=i-1
    return s
def f2(i):
    s=0
    while(i!=0):
        s=s+f1(i)
        i=i-1
    return s
def f3(i):
    s=0
    while(i!=0):
        s=s+1/f1(i)
        i=i-1
    return s
def f4(x,n):
    s=0
    i=1
    k=x
    while(i<=n):
        j=i
        while(j!=1):
            x=x*k
            j=j-1
        i=1+i
        s=s+x
        x=k
    return s
def f5(x,n):
    s=0
    i=1
    k=x
    while(i<=n):
        j=i
        while(j!=1):
            x=x*k
            j=j-1
        x=x/f1(i)
        i=1+i
        s=s+x
        x=k
    return s
def f6(x,n):
    s=0
    i=1
    k=x
    while(i<=(2*n-1)):
        j=i
        while(j!=1):
            x=x*k
            j=j-1
        x=x/f1(i)
        i=2+i
        s=s+x
        x=k
    return s
print('f1(',n,')=',f1(n),sep='')
print('f2(',n,')=',f2(n),sep='')
print('f3(',n,')=',f3(n),sep='')
print('f4(',x,',',n,')=',f4(x,n),sep='')
print('f5(',x,',',n,')=',f5(x,n),sep='')
print('f5(',x,',',n,')=',f6(x,n),sep='')

'''题目(7):计算并输出n项的和值s=a+aa+aaa+…+aa…a,其中a是一个数字,
要求n、a均由键盘输入,例如:n=4,a=3,则s=3+33+333+3333'''
n,a=eval(input('请依次输入n、a两个整数:'))
i=1
s=0
k=a
while i<=n:
    j=i
    while j!=0:
        s=s+a
        a=a*10
        j=j-1
    a=k
    i=i+1
print('和值:',s)    

'''题目(8):任意输入一个字符串,实现字母的大小写转换,其他字符保持不变'''
s=input('请输入字符串:')
print(s.swapcase())

#实验4.2 异常处理实验
'''题目:从键盘任意输入一个字符串s,
捕捉并输出s=s+6的异常类型、异常内容,
并利用finally输出“运行结束'''
import traceback
s=input('请输入字符串:')
try:
    s=s+6
except Exception as ex:
    print('异常类型及内容:',ex.__class__.__name__)
    print('异常信息:',ex)
finally:
    print('运行结束')


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值