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没讲,所以这两个其实会不会都行,因为可以用其他写法代替,实际上只有代码量的差别,最后执行的结果没区别