print(sum)
sum = 42
print(sum)

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

sum = inc(7) + inc(7)
print(sum)

1.Built-in

2.Global

3.Local

4.Global

def func1(a,b,c,d,e,f):
'''
返回参数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))

line30后增加一行函数

def func1(a,b,c,d,e,f):
'''
返回参数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))
print( func3(a = 111,b = 999,c = 222,0,555,333))

list1 = [1,9,8,4]

print( sorted(list1))
print( sorted(list1,reverse = True))
print( sorted(list1,True))

questionr:python内置函数sorted()中，参数reverse的传递方式是否必须使用关键字传递？

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

def solve(a,b,c):
'''
求解一元二次方程，返回方程的两个根
:param a,b,c: int 方程系数
:return: tuple
'''
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:
a,b,c = eval(input('Enter eqution coefficient:'))
if a == 0:
raise
except:
print('invalid input,or,a is zero')
break
else:
root1,root2 = solve(a,b,c)
print(f'root1 = {root1:.2f},root2 = {root2:.2f}')
print()

在line22之前增加一行代码

def solve(a,b,c):
'''
求解一元二次方程，返回方程的两个根
:param a,b,c: int 方程系数
:return: tuple
'''
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:
a,b,c = eval(input('Enter eqution coefficient:'))
if a == 0:
raise
except:
print('invalid input,or,a is zero')
break
else:
root1,root2 = solve(a,b,c)
print(f'root1 = {root1:.2f},root2 = {root2:.2f}')
print()

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

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

def is_prime(n):
x = 2
m = True
if n == 2:
return True
while n > x:
if n%x == 0 and m == True:
m = False
else:
x+=1
return m

for number in range(2,21,2):
for x in range(2,int(number/2)+1):
y = number-x
if is_prime(x) == True and is_prime(y) == True:
print('{}={}+{}'.format(number,x,y))
break

def encorder(text):
list = []
for i in text:
if 65<=ord(i)<=85 or 97<=ord(i)<=117:
list.append(chr((ord(i)+5)))
elif 86<=ord(i)<=90 or 118<=ord(i)<=122:
list.append(chr(ord(i)-21))
else:
list.append(i)
return ''.join(list)

def decorder(text):
list = []
for i in text:
if 70<=ord(i)<=90 or 102<=ord(i)<=122:
list.append(chr((ord(i)-5)))
elif 65<=ord(i)<=69 or 97<=ord(i)<=101:
list.append(chr((ord(i)+21)))
else:
list.append(i)
return ''.join(list)

text=input('输入英文文本；')
print(f'编码后的文本；{encorder(text)}')
print(f'解码后的文本；{decorder(encorder(text))}')

def collatz(n):
if n%2 == 0:
return n/2
else:
return 3*n+1

try:
n =int(input('Enter a positive integer:'))
if n > 0:
list = []
while n != 1:
list.append(n)
n = collatz(n)
list.append(1)
print(list)
else:
print('Error:must be a positive integer')
except:
print('Error:must be a positive integer')

1.对于try...except...的使用仍不熟练，需要加强练习

2.对于chr(),ord()的使用仍不熟练，需要加强练习

3.对于函数的编写能力有了一定的提升，希望自己能够继续努力

posted on 2022-05-10 23:04  橡皮小飒  阅读(3)  评论(0编辑  收藏  举报