大家好,我是小白君。在学习CV的路上,挖坑是必须的,把自己埋在里面,开出花来。今天,我们就来挖本公众号:CV初学者的第一个坑,也是CV初学者的第一篇文章。希望我们都可以坚持住,坚持学习,坚持交流,坚持分享。
阅读全文大约需要3 minutes,建议关注 收藏,边撸代码边学习,效率更高哦!
题目1Write a program which will find all such numbers which are divisible(可被整除) by 7 but are not a multiple(倍数) of 5, between 2000 and 3200 (both included).The numbers obtained should be printed in a comma-separated sequence on a single line.
中文对照:编写一个程序,找出2000和3200(包括在内)之间所有能被7整除但不是5的倍数的数字。获得的数字应以逗号分隔的序列打印在单行上。
关键分析:- 2000和3200(包括在内)
- 被7整除但不是5的倍数
- 打印数字应以逗号分隔,单行
- range(start, end, step)
- i%7==0 and i%5!=0
- print(i, end=',')
foriinrange(2000,3200 1):
ifi%7==0andi%5!=0:
print(i,end=',')
output:
2002,2009,2016,2023,2037,2044,2051,2058,2072,2079,2086,2093,2107,2114,2121,2128,2142,2149,2156,2163,2177,2184,2191,2198,2212,2219,2226,2233,2247,2254,2261,2268,2282,2289,2296,2303,2317,2324,2331,2338,2352,2359,2366,2373,2387,2394,2401,2408,2422,2429,2436,2443,2457,2464,2471,2478,2492,2499,2506,2513,2527,2534,2541,2548,2562,2569,2576,2583,2597,2604,2611,2618,2632,2639,2646,2653,2667,2674,2681,2688,2702,2709,2716,2723,2737,2744,2751,2758,2772,2779,2786,2793,2807,2814,2821,2828,2842,2849,2856,2863,2877,2884,2891,2898,2912,2919,2926,2933,2947,2954,2961,2968,2982,2989,2996,3003,3017,3024,3031,3038,3052,3059,3066,3073,3087,3094,3101,3108,3122,3129,3136,3143,3157,3164,3171,3178,3192,3199
关键注释:
天天用print打印everything,我怀疑你还没有看过print的定义文件,这里顺道看一眼吧。
defprint(self,*args,sep='',end='\n',file=None):#knownspecialcaseofprint
"""
print(value,...,sep='',end='\n',file=sys.stdout,flush=False)
Printsthevaluestoastream,ortosys.stdoutbydefault.
Optionalkeywordarguments:
file:afile-likeobject(stream);defaultstothecurrentsys.stdout.
sep:stringinsertedbetweenvalues,defaultaspace.
end:stringappendedafterthelastvalue,defaultanewline.
flush:whethertoforciblyflushthestream.
"""
pass
其中:
- end:可以设置print打印结束时最后跟的字符形式,默认换行符。
- sep:可以设置print中分隔不同值的形式,默认为一个空格。
[print(i,end=',')foriinrange(2000,3200 1)ifi%7==0andi%5!=0]
method 3:
print(*(iforiinrange(2000,3200 1)ifi%7==0andi%5!=0),sep=',')
关键注释:
在将序列解压缩为参数之前传递给print()函数的*,是为了将相同的迭代器传递给print()函数,每次从迭代器中提取一个项。如下:
l=[x*xforxinrange(10)]
print(l)
g=(x*xforxinrange(10))
print(g)
output:
[0,1,4,9,16,25,36,49,64,81]
<generatorobject<genexpr>at0x000001A7F4A995C8>
关键收获:
- python中的range(start, end, step)
- 与(and)或(or)非(!)
- print()打印操作
Write a program which can compute the factorial(阶乘) of a given numbers. The results should be printed in a comma-separated sequence on a single line.Suppose the following input is supplied to the program: 8 Then, the output should be:40320
中文对照:写一个程序可以计算一个给定数字的阶乘。结果应该以逗号分隔的序列打印在一行上。假设向程序提供了以下输入:8,那么,输出应该是:40320
关键分析:- 数量阶乘
- 键盘接收输入
- 阶乘,例如:5!=5x4x3x2x1
- input 键盘接收输入
5!=5x4x3x2x1,那也就是5!=1x2x3x4x5
n=int(input('Pleaseinputaintnum:'))
factorial_num=1
x=1
foriinrange(1,n 1):
factorial_num=factorial_num*i
print(factorial_num)
method 2:
n=int(input('Pleaseinputaintnum:'))
deffactorial(x):
return1ifx<=1elsex*factorial(x-1)
print(factorial(n))
output:
Pleaseinputaintnum:8
40320
关键收获:
- input 键盘接收输入方式
- 阶乘计算方法
- 自我调用,学名递归调用
With a given integral number n, write a program to generate a dictionary that contains (i, i x i) such that is an integral number between 1 and n (both included). and then the program should print the dictionary.Suppose the following input is supplied to the program: 8
中文对照:对于给定的整数n,编写一个程序生成一个包含(i, i * i)的字典,使其为1和n之间的整数(包括两者)。然后程序应该打印字典。假设向程序提供了以下输入:8
关键分析:- 生成(i, i * i)的字典
- 范围i属于[1,n]
- 打印字典
- python dict[key]=value
- range(1,n 1)
- print(dict)
n=int(input('Pleaseinputaintnum:'))
d={}
foriinrange(1,n 1):
d[i]=i**2
print(d)
method 2:
n=int(input('Pleaseinputaintnum:'))
print({i:i**2foriinrange(1,n 1)})
output:
Pleaseinputaintnum:8
{1:1,2:4,3:9,4:16,5:25,6:36,7:49,8:64}
关键收获:
- python dict的构建,dict[key]=value
- python中的平方形式,i**2
针对上文中,有递归调用的思想,这里有个附加题,强化下这个思想。学有余力的,欢迎做下自我挑战。
题目:一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。
来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/qing-wa-tiao-tai-jie-wen-ti-lcof
浅析引导: 比如n=3,1 1 1=1 2=2 1=3,共有3中不同的方法。
欢迎各位私信后台,我们一起在学习这条道儿上,携手前行。PS:小白CV招合作编辑,喜欢写的小伙伴,一起来分享,后台联系加小白君微信。
参考内容:https://github.com/fengdu78/Data-Science-Notes/tree/master/1.python-basic/Python-100
慢即是快(slow is fast),每日一题,跟着更新,就会变强。欢迎各位留言、私信。本公众号是有留言功能的,这样也方便我们的交流。让我们一起在学习这条道儿上,携手前行。PS:CV初学者 招合作编辑,喜欢写作总结的小伙伴,一起来分享,后台联系加小白君微信。