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

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

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

task1

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

运行结果:

 

task2.1

def func1(a, b, c, d, e, f):
    return [a,b,c,d,e,f]
def func2(a, b, c,*, d, e, f):#返回参数a,b,c,d,e,f构成的列表 *后面的参数只能按关键字传递
    return [a, b, c, d, e, f]
def func3(a, b, c, /, d, e, f):#返回参数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) )

运行结果:

错误:

task2.2

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

运行结果:

task2.3

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

运行结果:

task3

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
while True:
        try:
            t = input('输入一元二次方程系数a b c, 或者,输入#结束: ')
            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()

运行结果:

task4

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

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

运行结果:

task5

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

 运行结果:

task6

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)}')

运行结果:

task7:

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))

运行结果:

task8:

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/e2718281/p/17408178.html

相关文章

  • c语言趣味编程
    求车速1#include<iostream>2usingnamespacestd;3intmain()4{5inta[5]={0};6intx,y,i;7for(i=95860;i<=99998;i++)8{9x=i;10for(intj=0;j<5;j++)11{12a[j]=x%10;13......
  • 不同数据库的格式化日期函数
    不同数据库的格式化日期MySql1、获取当前时间selectnow()2、日期格式化#年-月-日时:分:秒SELECTDATE_FORMAT(now(),'%Y-%m-%d%H:%i:%s')具体格式参考下面:格式描述%a缩写星期名(Sun..Sat)%b缩写月名(Jan..Dec)%c月,数值(0..12)%D带有英文......
  • 实验四
    print(sum)sum=42print(sum)definc(n):sum=n+1print(sum)returnsumsum=inc(7)+inc(7)print(sum)答:不是。line1的作用域为全局作用域·,line3的作用域是外部嵌套作用域,line7的作用域为局部作用域,line11的作用域为局部作用域。task2-1deffunc1(a,b,c......
  • Hive函数大全
    Hive内部提供了很多函数给开发者使用,包括数学函数,类型转换函数,条件函数,字符函数,聚合函数,表生成函数等等,这些函数都统称为内置函数。数学函数ReturnTypeName(Signature)DescriptionDOUBLEround(DOUBLEa)ReturnstheroundedBIGINTvalueofa.返回对a四舍五入的BI......
  • 实验4
    task1print(sum)sum=42print(sum)definc(n):sum=n+1print(sum)returnsumsum=inc(7)+inc(7)print(sum)task2deffunc1(a,b,c,d,e,f):return[a,b,c,d,e,f]deffunc2(a,b,c,*,d,e,f):return[a,b,c,d,e,f]deffunc3(a,b,c,/,d,e,f):......
  • 实验4 函数与异常处理编程
    实验结论实验任务1程序源代码print(sum)sum=42print(sum)definc(n):sum=n+1print(sum)returnsumsum=inc(7)+inc(7)print(sum)运行测试截图问题回答:不是同一个对象的名称。line1是内置作用域,line3和line11是全局作用域,而line7是在inc中的局......
  • 实验四
    task1源代码:print(sum)sum=42print(sum)definc(n):sum=n+1print(sum)returnsumsum=inc(7)+inc(7)print(sum)问题:task1.py源码中,共有4处有python语句 print(sum) (line1,line3,line7,line11)。 这4处使用的标识符sum是同一个对象的......
  • 2023.5.23编程一小时打卡
    一、问题描述:定义抽象基类Shape,由它派生出五个派生类:Circle(圆形)、Square(正方形)、Rectangle(长方形)、Trapezoid(梯形)和Triangle(三角形),用虚函数分别计算各种图形的面积,输出它们的面积和。要求用基类指针数组,每一个数组元素指向一个派生类的对象。PI=3.14159f,单精度浮点数计算。输......
  • 实验4函数与异常处理程序
    1.实验任务1print(sum)sum=42print(sum)definc(n):sum=n+1print(sum)returnsumsum=inc(7)+inc(7)print(sum)问题:不是。line1中的sum是指Python的内置函数;line3中的sum指的是line2中的全局变量sum;line7中的sum指的是inc函数中的局部变......
  • 实验四
    任务1print(sum)sum=42print(sum)definc(n):sum=n+1print(sum)returnsumsum=inc(7)+inc(7)print(sum)任务22.1deffunc1(a,b,c,d,e,f):return[a,b,c,d,e,f]deffunc2(a,b,c,*,d,e,f):return[a,b,c,d,e,f]deffunc3(a,b,c,/,d,e,f)......