注:本文所有代码均经过Python 3.7实际运行检验,保证其严谨性。
Python基础练习题23:求三角形斜边上的高
输入直角三角形两直角边a、b的值,输出斜边上的高,最后结果使用round(x, 2) 函数四舍五入保留2位小数。
输入格式:
2行,每行一个整数,分别为a,b的值。
输出格式:
一个数,即斜边上的高,保留2位小数。
输入样例:
45
输出样例:
3.12
解答:利用复数求模的方式求出第三条边长c,再利用公式h = a * b / c来求出高h。
a = int(input())b = int(input())c = complex(a, b) # 新建一个复数c,要用到复数求模。print(round((a * b / abs(c)), 2))
Python基础练习题23:计算字符个数
接受一个由字母和数字组成的字符串,和一个字符,然后输出输入的字符串中含有该字符的个数。不区分大小写。
输入格式:
输入一个由字母和数字组成的字符串,和一个字符,以空格隔开。
输出格式:
输出输入的字符串中含有该字符的个数。
输入样例:
a1234bcdef a
输出样例:
1
解答:这题要用到两个方法:str.split和str.count方法,它们的具体语法分别如下:
str.split(sep=None, num=-1)——返回一个列表。
其中,sep是separater的前三个字母,表示分隔符。sep分隔符默认为所有的空字符,包括空格、换行()、制表符()等,也可以为空(即不带任何东西,不带引号,如(str.split()),也可以为空格(如str.split(" ")),但不能为空字符串(str.split("")),否则会报错ValueError: empty separator;num表示分隔的次数,默认为-1,即全部分隔。
此方法可以将字符串转化成列表。如"A, B, C".split(",")结果为['A', 'B', 'C']。
str.count(sub)——返回子串sub在str中出现的次数。
因为输入的字符串s(以'a1234bcdef a'为例),由三个部分组成,'a1234bcdef'、空格和'a',其中s[-1] = 'a',s.split() = ['a1234bcdef', 'a'],所以s.split()[0] = 'a1234bcdef'。
现在问题就变为求字符串字符串s[-1]在s.split()[0] 中出现了几次。再看看str.count(sub)这个方法,是不是答案出来了?
代码如下:
s = str(input())print(s.split()[0].count(s[-1]))
To be continued.