初见Python解题之道(七)

Item

给出某一最大值number,该正整数范围下3或者5的倍数,求其和
题目来源:codewars(6kyu)

Contents

例:
如果number = 10
那么10以内的整数,且为3或者5的倍数有:3,5,6,9
和则为:3+5+6+9 = 23

Knowledge

  1. 数据类型:整数型(int)
  2. 运算符:比较运算符、逻辑运算符
  3. 容器:Range()整数列表
  4. 其他:for-if结构、取余判断整数、for循环体简写

Me

  1. 今天的遭遇题目比较简单,主要是学会缩写for循环的手法;
  2. 简单分析:3或者5的倍数,那肯定是该数对3或5取余为0的数,而又要在一个范围中寻找这些数,那第一想法就是For遍历Range,再搭配上IF语句,这就很顺利 很奈斯。
  3. for循环如何简写呢?
    首先个人看法:尽量避开代码简写,我做过定时器,发现两者相差不大,大概简写更酷一点、代码页面简明一点,但是,对于不熟悉代码的人不是很友好,特别是第一次接触编程的朋友,接下来进入正题:
    先看下普遍常见的几种for循环:

第一种(无嵌套、无条件):

for i in 范围:
	执行操作

简写:

[]或者()括号包裹着主要内容,视前面给定变量的类型决定;
列表型_变量 = [执行操作 for i in 范围]
常量型_变量 = (执行操作 for i in 范围)

第二种(无嵌套、有条件):

for i in 范围1:
	for j in 范围2:
		执行操作

简写:

[执行操作 for i in 范围1 for j in 范围2]
格式引申:理论上多个嵌套,那就多个排列[执行操作 最外层 次外层 …………]

举例:

x_list, y_list, z_list = ['1','2'], ['3','4'], ["5","6"]
[print(x,y,z) for x in x_list for y in y_list for z in z_list]

第三种(无嵌套、有条件):

for i in 范围:
	if条件:
		执行操作

简写:

[执行操作 for i in 范围 if条件语句 ]

Code

简写for前:

def solution(number):
    answer = 0
    for i in range(number):
        if i%3 == 0 or i%5 == 0:
            answer += i
    return answer

简写for后:

def solution(number):
    answer = sum(i for i in range(number) if i%3 == 0 or i%5 == 0)
    return answer
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

顾平安6

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值