python学习--练习题678--九九乘法表,前两项相加问题,素数输出问题
Posted ttkk89
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python学习--练习题678--九九乘法表,前两项相加问题,素数输出问题相关的知识,希望对你有一定的参考价值。
练习6
#输出9*9乘法表
s=(i*n for i in range(1,10) for n in range(1,10)) print(list(s))
练习7
#题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
一共经历了几个月=int(input("几月:")) def 多少只兔子(): s=[1,1] for i in range(0,一共经历了几个月+1): t=s[i+1]+s[i] s.append(t) i+=1 continue print(s[一共经历了几个月-1]*2) 多少只兔子()
返回值:几月:23
57314
体会:我在 t=s[i+1]+s[i]
s.append(t)这个代码这花费了很长时间,总是用s[i+2]=s[i+1]+s[i]来跑程序,总是提示我超了,我干脆就用t来表示,这样append的时候也方便很多。
练习8
#判断101-200之间有多少个素数,并输出所有素数。
#python的set和其他语言类似, 是一个无序不重复元素集, 基本功能包括关系测试和消除重复元素 s=set(( n for n in range (101,201) for k in range (2,n) if n%k==0 )) t=set((n for n in range(101,201))) print(sorted(t-s)) 返回值:[101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199]
体会:set用于解包,sorted用于排列
我在第一行代码花费时间最多,主要是没有加set时,导致输出都是相同的数据(真的是好烦啊!),用了set不仅可以删除还可以加加减减,减值就是元组必备,神清气爽!
同时,http://blog.csdn.net/business122/article/details/7541486# 有详细的符号说明
a = t | s # t 和 s的并集 b = t & s # t 和 s的交集 c = t – s # 求差集(项在t中,但不在s中) d = t ^ s # 对称差集(项在t或s中,但不会同时出现在二者中)
以上是关于python学习--练习题678--九九乘法表,前两项相加问题,素数输出问题的主要内容,如果未能解决你的问题,请参考以下文章