python for循环

用shell和python语言实现1到100相加的和

我的梦境 提交于 2019-12-14 09:08:21
大家是不是以为。这篇文章是《如何将Shell脚本应用到实际中》系列的啊。猜错了。出乎意料之外。哈哈。因为我的工作经验有限。我就不嘚瑟了。写点基本的吧。一方面加强自己的基础,二方面嘚瑟一下自己刚学会的Python基础语言以免忘记。(虽然是菜鸟)。 这个,是很简单的。题干的中心意思就是1+2+3+4+5+6+7+.....+100=?,我们要实现的就是这个“?”的值。 首先是用Python的while循环实现的: Python中的for循环也可以实现,看下图: 这个for循环呢。有个遍历是非常厉害的。那么用for来实现1+2+3+...+100的和是非常简单的了。 首先定义一个变量i,记录每次遍历的值。 定义一个变量sum1记录两数相加的和。 然后,最重要的来了,在这划重点哦,敲黑板。别走神哦。 for i in range(101): 这句的重要在 range ,为什么是 range ( 101 )? 答:range是范围函数,默认从0开始,故range(0,101)可以写成range(101)。 有人有疑问了。不是到 100 吗。怎么是 101 ? 答:range函数的规则是,左闭右开,等于数学上的左闭右开区间数。所以,是range(101)。 Are you ok ? 注意哦! for和while循环的最后,别忘了还有冒号 : ,英文字符下的哦! 最后呢,我用shell脚本写一下

Python 入门之流程控制语句

混江龙づ霸主 提交于 2019-12-14 02:31:40
1、if判断 (1) 单 if if –-如果 if 条件: 缩进 结果 (官方推荐4个空格,或者一个tab 不能空格和tab混合使用) money = 10 print("从学校出发") if money >= 10: print("买个炸鸡") print("买个啤酒") print("走啊走") print("到家了") (2) if else - - 二选一: if 条件: 缩进 结果 else: 缩进 结果 if 3>2: print("这是如果执行了") print("123") print("234") else: print("这是否则执行了") (3) if elif elif elif —多选一或不选 if 条件: 缩进 结果 elif 条件: 缩进 结果 elif 条件: 缩进 结果 if 3>2: print("这是A") elif 4>3: print("这是B") elif 5>3: print("这是C") elif 6>3: print("这是D") (4) if elif elif else --多选一 if 条件: 缩进 结果 elif 条件: 缩进 结果 elif 条件: 缩进 结果 else 条件: 缩进 结果 if 1>2: print("A") elif 2>3: print("B") elif 5>6: print("c") else:

Python基础语法学习

南楼画角 提交于 2019-12-14 00:52:00
基础语法学习 果然学完 C++ 后再看其他语言的确有很多的共性,只需要熟悉一下python的独特语法和 C++ 中的差异就可以写出一些小的程序,而写得过程中也再次体会出python代码的精简和灵活; 关键字 所有可用的关键字只要看keyword模块就可以了 >>> import keyword >>> keyword.kwlist ['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield'] 编码注释# 在python中如果有需要加中文注释的需求,是需要添加编码注释的。否则就会报错。而python2和python3的编码转换形式还不太一样; 所以通常写程序前需要在最顶部增加编码的声明。其实只要注释里面有coding 和对应的编码就可以了 一般用以下的格式进行声明: # -*- coding:utf

Python基于面向对象思想模拟彩票系统

怎甘沉沦 提交于 2019-12-13 15:46:39
import random class Lottery : def __init__ ( self ) : # 用来存储彩票的号码 self . number_list = [ ] # 彩票价格 self . price = 2 def show ( self ) : self . number_list . sort ( ) print ( f '{self.number_list}' ) class System : def __init__ ( self ) : pass # 得到一组包含随机号码的彩票对象 def creat_lottey ( self ) : # 创建一个彩票对象 lottery = Lottery ( ) # 循环生成随机号码 for i in range ( 3 ) : n = random . randint ( 0 , 9 ) # 将生成的号码存储到彩票对象的列表属性中 lottery . number_list . append ( n ) else : lottery . number_list . sort ( ) return lottery # 系统开奖 def run ( self ) : return self . creat_lottey ( ) class Person : def __init__ ( self , name ,

详解Python迭代器,生成器,装饰器

南笙酒味 提交于 2019-12-13 12:42:25
文章目录 迭代器 生成器 装饰器 迭代器 简介:迭代器是python里面可以记住遍历位置的对象,迭代器只能往前不能往后,使用iter()创建一个迭代器,使用next()返回一个迭代器里面的元素。 应用场景:数列的数据规模巨大,或者数列有规律,但是通过列表推导式推导不出来 #!/usr/local/bin/python3 import sys it = iter ( [ 1 , 32 , 43 , 2 ] ) while True : try : print ( next ( it ) ) except StopIteration : sys . exit ( ) 参考: 廖雪峰的迭代器教程 菜鸟教程:迭代器与生成器 Tyson Lee的博客:详解高阶函数,闭包,装饰器 生成器 简介:在python里面使用了yield的函数称为生成器,生成器返回一个迭代器,在调用生成器运行的过程中,每次遇到 yield 时函数会暂停并保存当前所有的运行信息,返回 yield 的值, 并在下一次执行 next() 方法时从当前位置继续运行。调用一个生成器函数,返回的是一个迭代器对象 应用场景: 列表所有数据都在内存中,如果有海量数据的话将会非常耗内存。 如:仅仅需要访问前面几个元素,那后面绝大多数元素占用的空间都白白浪费了。 如果列表元素按照某种算法推算出来

Python笔记

扶醉桌前 提交于 2019-12-13 08:37:15
一、if条件判断 s = input('命名: ') 命名 = int(s) if birth < 2000: print(‘00前’) else: print(‘00后’) 例子 if<执行1> elif <条件判断2>: <执行2> elif <条件判断3>: <执行3> else: <执行4> 二、while循环 break语句(必须配合if语句使用) n = 1 while n <= 100: if n > 10: # 当n = 10时,条件满足,执行break语句 break # break语句会结束当前循环 break不能和print对齐,否则无法输出 print(n) n = n + 1 print(‘END’)#不用这句话也可以 continue语句(必须配合if语句使用) n = 0 while n < 10: n = n + 1 if n % 2 == 0: # 如果n是偶数,执行continue语句 continue # continue语句会直接继续下一轮循环,后续的print()语句不会 执行 print(n) i = 0 while i < 7: i += 1 if i == 3:#如果i等于3则会执行continue语句跳过3继续执行下一个值 continue print(i) 三、for循环 hover = [1,5,7,25,95,68] for

Python 面试问题

寵の児 提交于 2019-12-12 21:41:54
Python 面试问题 最近正在团队内部普及 Python 语言,有些刚接触 Python 语言的工程师在概念上有很多混淆的地方,刚好看到这篇文章: Python面试问题 ,里面列举的问题都是关于 Python 基本的常识或者容易混淆的知识点,因此推荐给团队的 Python 初学者。 参数是如何传递的?传值还是传引用?(How are arguments passed – by reference of by value?) 这个问题的有点c/c++风格,问题的实质是当一个传入的参数在函数体内被更改,那么在函数返回后,函数体外的这个参数变量的值是否改变。最简短的回答是,”都不是”,事实上 Python 里是传对象(call by object)。 要弄明白这个变量的值是否在函数体外发生变化,需要明白两个概念: Python 里的对象分为有可变(mutable)和不可变(immutable):数字(int, float),字符串,元组(tuple)是不可变的,列表(list),字典(dict)是可变的。 所有的变量都是一个对象的引用。无论对象是否可变,这个变量都可被赋值为另外一个对象。 因此,如果传入的参数变量指向一个不可变对象,那么在函数体外这个对象的内容永远不会发生变化;如果当传入的参数变量指向一个可变对象,那么这个对象是否发生变化,取决于函数体内部是否改变了这个可变对象的内容。

python中for循环删除不全的问题

纵然是瞬间 提交于 2019-12-12 13:52:49
以前遇到过一次,删除列表中符合条件的元素,for循环挨个判断是否符合条件,符合就删除,删完结果发现有一个符合条件的没有删掉。 那么如果想删除某些列表中的元素,比如有一个a列表,a=[11,22,33,44,55,66,77] 删除a中的22和33,应该如何做呢? 如果你这样写: for i in a: if i == 22 or i==33: a.remove(i) 如果按照这样写,22被如期删掉了,但33却没有,删完的结果是:[11,33,44,55,66,77]不信你试试 为什么呢~~?请看以下分解图,第一次循环,i指向11,不删除: 11 22 33 44 55 66 77 ↑ 第二次循环,i指向22,符合删除条件了,遂删除, 11 22 33 44 55 66 77 ↑ 删除后,内存会变为: 11 33 44 55 66 77 ↑ 注意喽,看到了嘛?现在33跑到原本22的位置上了,i仍旧指向的是第二个位置,那么第三次循环,i就会继续向下指向44了,就把33跳过去了,依次类推直到完成循环。 所以知道为什么上面那段代码会有问题了吧。那么怎么解决呢?只需要找一个临时列表b将要删除的东西存起来,然后再去原列表依次删 代码改成: b=[] for i in a: if i == 33 or i==44: b.append(i) for i in b: if i in a: a

python(三)高级特性切片迭代等

拟墨画扇 提交于 2019-12-11 21:03:51
切片:取一个list或tuple的部分元素是非常常见的操作 L = ['Michael', 'Sarah', 'Tracy', 'Bob', 'Jack'] ##取前3个元素 L[0:3]=['Michael', 'Sarah', 'Tracy'] ##或 L=[:3] ##N个元素,也就是索引为0-(N-1)的元素 ## 可以从索引1开始,取出2个元素出来: >>> L[1:3] ['Sarah', 'Tracy'] ##L[-1]取倒数第一个元素,那么它同样支持倒数切片,倒数第一个元素是-1 不是从零开始 >>> L[-2:] ['Bob', 'Jack'] >>> L[-2:-1] ['Bob'] ##前10个数,每两个取一个: >>> L[:10:2] [0, 2, 4, 6, 8] 迭代 for循环来遍历这个list或tuple,这种遍历我们称为迭代(Iteration) for ch in 'ABC': ... print(ch) ... A B C ###字典 dict 迭代(dict迭代的是key。如果要迭代value,可以用for value in d.values(),如果要同时迭代key和value,可以用for k, v in d.items()) >>> d = {'a': 1, 'b': 2, 'c': 3} >>> for key in d: ...

用Python爬E站本

别说谁变了你拦得住时间么 提交于 2019-12-11 14:28:13
用Python爬E站本 一、前言 参考并改进自 OverJerry 大佬的 教你怎么用Python爬取E站的本子_OverJerry 。 本文为技术学习记录,不提供访问无存在网站的任何方法,也不包含不和谐内容。 环境: Python版本为从Win10应用商店安装的 Python3.7.5 ,大概若无已安装版本,cmd输入python就会自动打开商店页面吧。不用设置PATH,但无法使用 py 命令。安装的位置在 C:\Users\<用户名>\AppData\Local\Microsoft\WindowsApps\ ,pip安装的模块位置大概在 C:\users\<用户名>\appdata\local\packages\ 编辑器为 VSCode ,使用推荐的Python插件 语法检查工具 flake8 : python -m pip install flake8 格式化工具 autopep8 : python -m pip install autopep8 依赖: BeautifulSoup4 : python -m pip install BeautifulSoup4 requests : python -m pip install requests lxml : pip install lxml 二、改进内容 支持分页下载; 允许一次输入多条链接,方便批量执行; 文件名使用id