购物登陆,列表生成式,生成器,斐波那契数列,yield伪并发,迭代器,时间模块,random模块

这次内容很多,比较重要

1、购物登陆(伪代码)

user = ‘hanjie‘passwd = 123w_user = ‘hanjie123‘w_passwd = 123login_states = False

def login():    if  login_states== False:        if auth_type == "jingdong":            username = input (‘please enter your username:‘)            password = input (‘please enter your password :‘)            if user==username and passwd==password:                print(‘welcome...‘)                login_states = True            else:                pass        elif auth_type == "weixin":            username = input(‘please enter your username:‘)            password = input(‘please enter your password :‘)            if w_user==username and w_passwd==password:                print(‘welcome...‘)                login_states = True            else:                pass    else:        pass

@logindef home():    print("welcome to home page")

@logindef finance(auth_type="weixin"):    print("welcome to finance page")

@logindef book():    print("welcome to book page")

home()

pass------1、pass语句什么也不做,一般作为占位符或者创建占位程序,pass语句不会执行任何操作2、保证格式完整 3、保证语义完整

2、列表生成的另一种方法

这个地方的range如果很大,运行内存会直接暴毙,因为列表每有一个字符在里面就会占用一个内存空间

# a = [x*x for x in range(10)]          #先是在0到10里面去数字,然后依次x乘x放入到列表里面# print(a)

3、生成器,只要是生成器就需要需要next,send去使用他

    1.在元组里面就不会形成内存

    2.next的格式用法

    3.生成器的使用方法两个next(),还有右面的send

s = (x*2 for x in range(5))          #print(s)print(next(s))   #等价于s.__next__() in  py2:s.next
print(next(s))print(next(s))print(next(s))print(next(s))print(next(s))

4、赋值方法--用元组、列表赋值

t = (123,8)            #元组赋值  (1,2,3)这种与元组数量不相同的赋值是不可以的a,b = tprint(a)print(b)

5、生成器

    1,。就是一个迭代对象

    2。生成器有两种创建方式

# 1.(x*2 for x in range(5))# 2.yield

6、yield的使用

  1.只要有yield那么就是生成器

  2.yield 的作用实现断层,把原先的程序向return一样出来,但是当他返回的时候还是在yield那一行,下一次利用nxet,或者send进来

  3.yield____  后面与return___都有一个返回值  

def foo():    print(‘ok‘)

    yield 1   #返回值是1

    print(‘ok2‘)    yield 2          #返回值是2

# g=foo()# print(g)   #<generator object foo at 0x0000000001DB9048>  只要有yield就是生成器

# a=next(g)# b=next(g)           #拿到1,2

# for i in foo():#     while True:#         i=next(foo())    # print(i)             #这里的i只拿到1,2


原文地址:https://www.cnblogs.com/hanjie955/p/12297522.html

时间: 2024-10-02 00:26:52

购物登陆,列表生成式,生成器,斐波那契数列,yield伪并发,迭代器,时间模块,random模块的相关文章

斐波那契数列yield表示

def fib(num): n=0 a,b=0,1 while n<num: print(b) yield a,b=b,a+b n=n+1a=fib(30)next(a)next(a)   原文地址:https://www.cnblogs.com/china520/p/10392451.html

python3 求斐波那契数列(Fibonacci sequence)

输出斐波那契数列的前多少个数. 利用函数 #!/usr/bin/env python # -*- coding:utf-8 -*- # Author:Hiuhung Wan # ----斐波那契数列(Fibonacci sequence)----- def check_num(number:str): ''' 对输入的字符串检查,正整数,返回Ture,否则返回False :param number: 输入的字符串 :return: 符合要求,返回Ture,不符合返回False ''' # 输入不

Python生成器实现斐波那契数列

比如,斐波那契数列:1,1,2,3,5,8,13,21,34.... 用列表生成式写不出来,但是我们可以用函数把它打印出来: def fib(number): n, a, b = 0, 0, 1 while n < number: print(b) a, b = b, a + b n = n + 1 return 'OK!' print(fib(5)) 结果: 1 1 2 3 5 OK! 我们可以看出从第一个元素开始,推算出后续任意的元素.很像generator. 要把fib函数变成genera

生成器实现斐波那契数列

#生成器生成斐波那契数列 def Fibnacc(num): 2 a= 1 3 b = 1 4 current_index = 0 5 while current_index<num: 6 data = a 7 8 current_index+=1 9 a,b=b,a+b 10 yield data 11 # yield:1.充当返回值的作用2.保存程序的运行状态,并且暂停程序执行3.当next的时候,可以继续换行程序从yield位置继续向下 12 # 执行 13 14 if __name__

如何打印斐波拉契数列以及质数列表

这其实是两道非常基础和简单地题.但somehow每隔一段时间我老是会不经意地想起这两个问题,有时候卡克没有一下想起解法还会急的直冒汗................... 言归正传,贴出这两题代码 (1)打印斐波拉契数列 // Java program for Fibonacci number using Loop. public static int fibonacciLoop(int number){ if(number == 1 || number == 2){ return 1; } i

【Python】Python实现斐波那契数列

本节主要实现以下目标: 1.递归方法输出斐波那契数列第n个元素的值 2.用迭代器和生成器获取前n个斐波那契数列列表 3.将两种方法写在同一类中 1.递归方法输出斐波那契数列第n个元素的值 2.用迭代器和生成器获取前n个斐波那契数列列表 3.将两种方法写在同一类中 原文地址:https://www.cnblogs.com/haizhibin1989/p/9158935.html

使用Python实现斐波那契数列

1.递归方法输出斐波那契数列第n个元素的值 2.用迭代器和生成器获取前n个斐波那契数列列表 3.将两种方法写在同一类中 原文地址:https://www.cnblogs.com/legendjaking/p/10587314.html

Python递归及斐波那契数列

递归函数 在函数内部,可以调用其他函数.如果一个函数在内部调用自身本身,这个函数就是递归函数.举个例子,我们来计算阶乘 n! = 1 * 2 * 3 * ... * n,用函数 fact(n)表示,可以看出:fact(n) = n! = 1 * 2 * 3 * ... * (n-1) * n = (n-1)! * n = fact(n-1) * n所以,fact(n)可以表示为 n * fact(n-1),只有n=1时需要特殊处理.于是,fact(n)用递归的方式写出来就是: def fact(

斐波那契数列的最优算法(O(logN))

相信大家都对斐波那契数列已经相当的熟悉了,最多两分钟就可以写出来以下时间复杂度为O(N)的代码: //递归实现 long long fib(int n) { if (n =1 || n== 2) { return 1; } return (fib(n - 2) + fib(n - 1)); } 或者是这样的时间复杂度为O(N),空间复杂度为O(1): //优化一:时间复杂度为O(N) long long fib(int n) { long long* fibarry = new long lon

python_斐波那契数列

什么是斐波那契数列? -- 一组第从第三个值开始,每个值都等于前两个值之和的一种有意思的数列 如[1, 1, 2, 3, 5, 8, 13, 21, 34, 55] 如何用程序进行实现? -- 逻辑整理 初始值n_1 = 1, n_2 = 1 n_3 = n_1 + n_2 第三个值开始,每个值都是前两个值之和,假如n_1 = n_2 ,n_2 = n_3, 实现了整体 n_1, n_2往后移动一个数,也就是说,现在的n_1 +n_2 等价于 n_2 + n_3 其结果虽然给n_3接收,但是n_