首页 > 编程语言 >实验四 函数与异常处理编程

实验四 函数与异常处理编程

时间:2023-05-23 19:44:59浏览次数:41  
标签:return 函数 sum 编程 list re 实验 print def

print(sum)
sum=42
print(sum)

def inc(n):
    sum=n+1
    print(sum)
    return sum
sum=inc(7)+inc(7)
print(sum)

1 空白 2 第二行的sum 3 函数里的sum 4 第十行的sum

任务2

def func1(a,b,c,d,e,f):
    return [a,b,c,d,e,f]
def func2(a,b,c,*,d,e,f):
    return [a,b,c,d,e,f]
def func3(a,b,c,/,d,e,f):
    return [a,b,c,d,e,f]
print(func1(1,9,2,0,5,3))
print(func1(a=1,b=9,c=2,d=0,e=5,f=3))
print(func1(1,9,2,f=3,d=0,e=5))
print(func2(11,99,22,d=0,e=55,f=33))
print(func2(a=11,b=99,c=22,d=0,e=55,f=33))
print(func3(111,999,222,0,555,333))
print(func3(111,999,222,d=0,e=555,f=333))

list1=[1,9,8,4]
print(sorted(list1))
print(sorted(list1,reverse=True))
print(sorted(list1,True))

def func(a,b,c,/,*,d,e,f):
    return([a,b,c,d,e,f])
s=func(1,2,3,d=4,e=5,f=6)
print(s)

任务3


def solve(a,b,c):
delta=b*b-4*a*c
delta_sqrt=abs(delta**0.5)
p1=-b/2/a
p2=delta_sqrt/2/a
if delta>=0:
root1=p1+p2
root2=p1-p2
else:
root1=complex(p1,p2)
root2=complex(p1,-p2)
return root1,root2

print(solve.__doc__)
while True:
try:
t=input('输入一元二次方程系数abc,或者输入#结束:')
if t=='#':
print('结束计算,退出')
break
a,b,c=map(float,t.split())
if a==0:
raise ValueError('a=0,不是一元二次方程')
except ValueError as e:
print(repr(e))
print()
except:
print('有其它错误发生\n')
else:
root1,root2=solve(a,b,c)
print(f'root1={root1:.2f},root2={root2:.2f}')
print()
 

 

任务4

def list_generator(a,b,c=1):
    i=a
    s=[i]
    while i<b:
        i+=c
        s.append(i)
    return s

list1=list_generator(-5,5)
print(list1)
list2=list_generator(-5,5,2)
print(list2)
list3=list_generator(1,5,0.5)
print(list3)

任务5

def is_prime(s):
    sum=0
    for i in range(2,s):
        if s%i==0:
            sum+=i
    ans=sum==0
    return ans

for i in range(2,21,2):
    s=[]
    for j in range(2,i):
        if is_prime(j)==True:
            s.append(j)
    for m in s:
        if (i-m)in s:
            print(f'{i}={m}+{i-m}')
            break

 

 任务6

list_s=['a','b','c','d','e','f','g','h','i','j','k',
        'l','m','n','o','p','q','r','s','t','u','v','w','x','y','z']
list_b=['A','B','C','D','E','F','G','H','I','J','K',
        'L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z']
def encoder(x):
    re=[]
    for i in str(x):
        if i in list_s:
            a=list_s.index(i)
            if a<=20:
                i=list_s[a+5]
                re.append(i)
            else:
                i=list_s[a+5-26]
                re.append(i)
        elif i in list_b:
            a=list_b.index(i)
            if a<=20:
                i=list_b[a+5]
                re.append(i)
            else:
                i=list_b[a+5-26]
                re.append(i)
        else:
            re.append(i)
    re=''.join(re)
    return re
def decoder(x):
    re=[]
    for i in str(x):
        if i in list_s:
            a=list_s.index(i)
            if a>=5:
                i=list_s[a-5]
                re.append(i)
            else:
                i=list_s[a+26-5]
                re.append(i)
        elif i in list_b:
            a=list_b.index(i)
            if a>=5:
                i=list_b[a-5]
                re.append(i)
            else:
                i=list_b[a+26-5]
                re.append(i)
        else:
            re.append(i)
    re=''.join(re)
    return re

x=input('输入英文文本:')
print(f'编码后的文本:{encoder(x)}')
y=encoder(x)
print(f'对编码后的文本解码:{decoder(y)}')

任务7

def collatz(n):
    re=[n]
    while True:
        if n==1:
            break
        if n%2==0:
            n=int(n/2)
            re.append(n)
        else:
            n=3*n+1
            re.append(n)
    return re
n=input('Enter a positive intefer:')
try:
    n=int(n)
    if n<=0 :
        raise
except:
    print('Error: must be a positive integer')
else:
    print(collatz(n))

 

任务8

def func(n):
    if n==0:
        return 0
    else:
        return 2*(func(n-1)+1)-1

while True:
    x=input()
    if x=='#':
        print('计算结束')
        break
    n=int(x)
    ans=func(n)
    print(f'n={n},ans={ans}')

 

标签:return,函数,sum,编程,list,re,实验,print,def
From: https://www.cnblogs.com/wangzhadan/p/17408182.html

相关文章

  • 虚函数计算各种图形面积之和
    一、问题描述。定义抽象基类Shape,由它派生出五个派生类:Circle(圆形)、Square(正方形)、Rectangle(长方形)、Trapezoid(梯形)和Triangle(三角形),用虚函数分别计算各种图形的面积,输出它们的面积和。要求用基类指针数组,每一个数组元素指向一个派生类的对象。PI=3.14159f,单精度浮点数计算。......
  • 实验4
    Task1print(sum)sum=42print(sum)definc(n):sum=n+1print(sum)returnsumsum=inc(7)+inc(7)print(sum)ViewCode不是。line1:全局作用域line3:全局作用域line7:局部作用域line11:全局作用域task2.1deffunc1(a,b,c,d,e,f):return[a,b,c,d,......
  • 泛型编程(GP)和C++标准模板库(STL)
    GenericProgramming(GP)泛型编程,就是使用template(模板)为主要工具来编写程序level0:使用C++标准库level1:认识C++标准库level2:良好使用C++标准库level3:扩充C++标准库C++StandardLibraryC++标准库,编译器带的,可以看到sourcecode至于StandardTemplateLibrary->STL标......
  • 编程一小时2023.5.23
    1.#include<iostream>#include<cstring>#include<algorithm>usingnamespacestd;chartran(charc){return(int)(c-'A'-4)>0?(c-5):(c+21);}stringsd,str,ed,eof="ENDOFINPUT";intmain(){strings;while(getline(ci......
  • 编程打卡:面向对象程序设计
    #include<iostream>#include<iomanip>usingnamespacestd;constfloatPI=3.14159;classShape{public:virtualfloatarea()=0;};classCircle:publicShape{private:floatradius;public:Circle(floatr):radius(r){}......
  • C++ 线程安全和可重入函数
    线程安全线程安全是指在多线程环境下,同一函数或函数库被不同线程调用,不会出现数据不一致的情况。如何确保一个函数是线程安全的:1.对共享资源加锁。2.从逻辑上进行设计,保证资源的访问修改不会冲突。一般情况下我们使用加锁的方式保证线程安全,具体加锁操作有互斥锁、条件变量、......
  • 【linux基础】ftok函数解析
    前言最新项目代码有关信号量、共享内存,直接使用数值,不能得到预想的效果,调试发现不能直接使用数值,而是ftok函数获取键值,此前不了解,故记录之。原理共享内存、消息队列、信号量都是通过一个中间介质来进行通信的,这种介质多的是。就是怎么区分出来,就像唯一一个身份证来区分人一样。......
  • 实验4
    task1实验源码:1print(sum)2sum=423print(sum)45definc(n):6sum=n+17print(sum)8returnsum910sum=inc(7)+inc(7)11print(sum)运行截图: 答:不是。line1:全局作用域line3:全局作用域line7:局部作用域line11:全局作用域......
  • Python函数
    1.函数函数是什么?函数一词来源于数学,但编程中的「函数」概念,与数学中的函数是有很大不同的,具体区别,我们后面会讲,编程中的函数在英文中也有很多不同的叫法。在BASIC中叫做subroutine(子过程或子程序),在Pascal中叫做procedure(过程)和function,在C中只有function,在Java里......
  • 实验四
    试验任务一:1print(sum)2sum=423print(sum)4definc(n):5sum=n+16print(sum)7returnsum8sum=inc(7)+inc(7)9print(sum) 答:不一样,line1的sum没有定义,line3的sum作用域为全局,line7的sum的作用域为函数inc内部,line11的sum作用域为全局......