1.要求:输入A、B、C获得方程的解。
分析:通过input函数接收A,B,C的值。通过公式计算出detal的值,再根据条件进行判断,输出所需要的值:
def args_input():
try:
A = float(input('请输入A的值:'))
B = float(input('请输入B的值:'))
C = float(input('请输入C的值:'))
return A, B, C
except:
print('请输入正确的数据类型')
return args_input()
def get_delta(A, B, C):
return B ** 2 - 4 * A * C
def solve():
A, B, C = args_input()
delta = get_delta(A, B, C)
if delta < 0:
print('该方程无解')
elif delta == 0:
x = B / (-2 * A)
print('x=', x)
else:
# 计算x1 x2的值
x1 = (B + pow(delta, 0.5)) / (-2 * A)
x2 = (B - pow(delta, 0.5)) / (-2 * A)
print('x1=', x1)
print('x2=', x2)
def main():
solve()
if __name__ == '__main__':
main()
2.第n(n>=1)个人的年龄是多少?请编写函数解答
分析;可以从后往前推,采用函数递归的方式实现
def age_guess(n):
if n == 1:
return 10
else:
return age_guess(n-1)+2
print(age_guess(5))
3.a=”abbbbbccc”,使用正则表达式匹配为abccc,不管有多少b,就出现一次b。
分析:是要把‘bbbbb’换成‘b’,可以使用re.sub(pattern,repel,string)。
方法一
import re
a = 'abbbccc'
# ret = re.sub(正则,要替换的部分,字符串)
ret = re.sub(r'[b]+', 'b', a)
print(ret)
方法二
import re
regex = re.compile(r'[b]+')
d = regex.sub('b', a)
print(d)
4.默写一个通用装饰器
def set_func(func):
def call_func(*args, **kwargs):
ret = func(*args, **kwargs)
return ret
return call_func
5.当在浏览器输入www.baidu.com时候,返回页面的过程中都发生了什么?请简要写出步骤。
1.浏览器向DNS获取web服务器www.baidu.com的IP地址:115.239.210.27。
2.浏览器与IP地址为115.239.210.27的服务器进行tcp连接,端口号为443。
3.浏览器执行HTTP协议,发送GET命令,请求读取该文件。
4.www.baidun.com服务器返回该文件到客户端。
5.释放TCP连接。
6.浏览器解释该文件内容,并显示文件表示的页面
6.编写一个函数,输入一个字符串,返回字符串的倒序结果和字符长度。
方法一
def trans_str():
my_str = input("请输入要逆序的字符串")
a = list()
for var in my_str:
a.append(var)
a.reverse()
b = ''.join(a)
print(b)
trans_str()
方法二
def trans_str():
my_str = input("请输入要逆序的字符串")
my_str = my_str[::-1]
print(my_str)
trans_str()