实验3 字符串及与分支结构
实验目的和要求: 1. 了解字符串类型,掌握字符串常见操作,尤其是字符串的格式化; 2. 掌握程序的分支结构; 3. 运用if语句实现分支结构;
1.字符替换
描述
假设有段英文,其中有单独字母“P”被误写为“p”,请编写程序进行纠正。
输入格式
用户输入一个字符串。不要使用提示词语。
输出格式
程序输出字符串,其中原本包含的英文字母“p”全部被替换为“P”。
print(input().replace('p', 'P'))
2.括号配对检测 A
描述
用户输入一行字符串,其中可能包括小括号 (),请检查小括号是否配对正确,配对成功与否分别输出:
配对成功,配对不成功
其中,小括号配对要考虑配对顺序,即()表示配对,)(不是配对,只考虑小括号配对。
注意,这是一个OJ题目,获得输入使用input("")。
'''
# 令 "(" = 1、 ")" = -1
# 如果()不匹配则最后的肯定不等于1
# 如果)在(前 则数会小于1
'''
ls = list(input())
sum = 1
for i in range(len(ls)):
if ls[i] == '(':
sum += 1
if ls[i] == ')':
sum -= 1
if sum < 1:
print("配对不成功")
exit()
if sum != 1:
print("配对不成功")
else:
print("配对成功")
3.二分法求平方根
描述
设计一个用二分法计算一个大于或等于 1 的实数 n 的平方根的函数sqrt_binary(n),计算精度控制在计算结果的平方与输入的误差不大于1e-6。
注:初始区间取[0,n]
输入格式
输入一个实数 n(大于或等于1)
输出格式
第一行输出用自己设计的函数计算得到的平方根
第二行输出用math库开平方函数计算得到的平方根。
import math
def sqrt_binary(n):
'''
# ln -> 左端值
# rn -> 右端值
# mid -> 中点值
'''
ln = 0
rn = n
mid = 0
while abs(mid**2 - n) > (1e-6):
mid = (ln + rn) / 2
if (mid**2 > n):
rn = mid
elif (mid * mid < n):
ln = mid
return mid
n = float(input())
print(sqrt_binary(n))
print(math.sqrt(n))