Python | A + B问题|V

累加操作:通过for循环将分割后的字符串分离

算术运算符:**幂运算、//整除

复合赋值运算符:+=、-=、*=、**=、/=、//=、%=

内置sum函数:(如果你在代码中重新定义了sum变量,它将覆盖内置的sum函数, 所以变量命名要小心)

        基本语法:

sum(列表,初始值)

        初始值是总和的初始值,然后将列表中的元素依次相加

还有一个问题仍存在,就是列表中的所有元素仍然是字符串,我们需要用一种快捷操作将列表中的所有元素转换成整数,这可以使用内置的map()函数,它也常用于Python中的列表操作,可以将一个函数应用到序列的每个元素,并返回一个包含结果的新序列(这个新序列的类型是否需要我们自己在前面定义?例如tupple、list)。

map() 的一般语法如下:

map(function, list)
  • function 是一个要应用到列表中每个元素的函数。
  • list 是要处理的列表
string_numbers = ["1","2","3","4","5"]

# 使用 map(int, list) 将列表中的所有字符串元素全都转换成整数
# 再在外面加一层list(), 使用list()方法将map的返回结果转为列表
int_numbers = list(map(int, string_numbers))

print(int_numbers)

所以在本题中可以用以下代码:

numbers = list(map(int, input_line[1:])

这里的input_line[1:]是一个切片操作,表示从列表中获取从指定索引(包括该索引)到序列末尾的所有元素, 然后对这些元素都执行int函数转换,将之转换成整数,并最终返回一个新的列表。

while True:
    try:
        input_line = input().split()
        n = int(input_line[0])
        if n == 0:
            break
        nums = list(map(int, input_line[1:]))
        total = sum(nums)
        print(total)
    except:
        break

常用的数学运算

内置的

  • abs(x): 返回数字的绝对值
  • max(x, y, z, ...): 返回一组数据中的最大值
  • min(x, y, z, ...): 返回一组数据中的最小值
  • pow(x, y): 返回 x 的 y 次方,参数为整数
  • round(x):返回浮点数 x 的四舍五入值

需要导入math模块:

  • math.ceil(x): 返回一个大于或等于 x 的最小整数。
  • math.floor(x): 向下取整,返回一个比 x 小的最大整数。
  • math.pow(x, y): 返回 x 的 y 次方, math模块会把参数转换成浮点数。
  • math.sqrt(x): 返回 x 的平方根

导入random模块:生成随机数

代码如下:

while True:
    try:
        input_line = input().split()
        n = int(input_line[0])
        if n == 0:
            break
        total = 0
        for i in range(n):
            total = total + int(input_line[i + 1])  
        print(total)
    except:
        break
    

【注意】:

和c++不同,python中的for循环永远的都是左闭右开区间,不能自己控制,所以在循环体中用变量i来索引时,要注意i的取值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值