6-1 编写函数,接收圆的半径作为参数,返回圆的面积。 (15 分)
编写函数,接收圆的半径作为参数,返回圆的面积。
函数接口定义:
在这里描述函数接口。例如:
def circleArea(r):
r是用户传入的参数。r需要确保是数值(正整数或实数),才能进行圆面积的计算。
裁判测试程序样例:
在这里给出函数被调用进行测试的例子。例如:
from math import pi as PI
'''
你写的函数会在这个位置
'''
print(circleArea(input())
输入样例:
在这里给出一组输入。例如:
3
结尾无空行
输出样例:
在这里给出相应的输出。例如:
28.274333882308138
结尾无空行
参考答案1
def circleArea(r):
r = eval(r)
area = PI * r * r
return area
参考答案2
circleArea = lambda r: PI * eval(r) ** 2
7-1 单词首字母大写 (10 分)
输入一个英文句子,要求将每个单词的首字母改成大写字母。
输入格式:
测试数据有多组,处理到文件尾。每组测试输入一行,包含一个长度不超过100的英文句子(仅包含大小写英文字母和空格),单词之间以一个空格间隔。
输出格式:
对于每组测试,输出按照要求改写后的英文句子。
输入样例:
I like acm
i want to get accepted
输出样例:
I Like Acm
I Want To Get Accepted
出处:
HDOJ 2026
基本写法(易于理解)
while True:
try:
lst, count, string = list(input().split(" ")), 0, ""
for i in lst:
lst[count] = i[0].upper() + i[1:len(i)]
count += 1
for i in lst:
string += i + " "
print(string.strip())
# 除了strip (1)还可以用 rstrip,(2)也可以判断长度来控制空格的输出
# (3)还可以直接删掉最后一个字符因为这样写末尾必定有个空格
# 总的来说就是你开心就好 爱怎么写怎么写
except EOFError:
break
map+join写法
# def capitalise(text):
# return text[0].upper() + text[1:len(text)]
# 代码本来就不好看,用 def 感觉更丑了所以用了 lambda
capitalise = lambda text: text[0].upper() + text[1:len(text)]
while True:
try:
lst = list(map(capitalise, input().split(" ")))
string = " ".join(lst)
print(string)
except EOFError:
break
title写法
while True:
try:
print(input().title())
except EOFError:
break
capitalise写法
def capitalise(text):
string = ""
lst = text.split(" ")
for item in lst:
string += item.capitalize() + " "
string = string.strip()
return string
try:
while True:
print(capitalise(input()))
except EOFError:
pass
另注
.capitalise() 字符串首字母(仅一个)大写
.title() 字符串以空格分割全部单词首字母大写
不用title和capitalise做基本上都是先以空格split存进列表
然后遍历列表的每一个元素
对每个元素的第一个字符进行操作并且和剩下的部分拼接
然后再遍历一次存进string
结尾空格可以判断length(长度)来控制输出 也可以直接strip()
第一次遍历可以用map迭代器(应该是叫这个名字?)代替;第二次遍历可以用join代替
join有提过并且只是提过,但是map没讲,所以这两个其实会不会都行,因为可以用其他写法代替,实际上只有代码量的差别,最后执行的结果没区别