python学习--练习题6、7、8--九九乘法表,前两项相加问题,素数输出问题

练习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中,但不会同时出现在二者中)

 

转载于:https://www.cnblogs.com/xurui89/p/10505884.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值