Category Archive for: 蟒蛇

变量

变量家庭作业帮助 简单来说,变量只是一个可以放入内容的框,您可以使用变量来存储各种各样的东西,但现在我们来看看在变量中存储数字。 lucky = 7 print(lucky)7.此代码创建一个名为lucky的变量,并为其指定整数7。 变量只不过是保存存储值的内存位置。这意味着当您创建一个变量时,您可以在内存中保留一些空间。 基于变量的数据类型,解释器分配内存并决定可以存储在保留的存储器中的内容。因此,通过为变量分配不同的数据类型,可以在这些变量中存储整数,小数或字符。 将值分配给变量 Python变量不需要明确的声明来保留内存空间。当您向变量分配值时,会自动发出声明。等号(=)用于为变量赋值。 =运算符左侧的操作数是变量的名称,而运算符右侧的操作数是存储在变量中的值。 这里,100,1000.0和“John”分别是分配给计数器,里程和名称变量的值。 多重分配 Python允许您同时为多个变量分配单个值。 这里,创建一个整数对象,其值为1,并且所有三个变量都分配给相同的内存位置。您还可以将多个对象分配给多个变量。 这里,将两个值为1和2的整数对象分别分配给变量a和b,并将一个值为“john”的字符串对象分配给变量c。 标准数据类型 存储在内存中的数据可以是多种类型。例如,一个人的年龄被存储为一个数值,他或她的地址被存储为字母数字字符。 Python具有各种标准数据类型,用于定义可能的操作以及每个标准数据类型的存储方法。 Python有五种标准数据类型 – 数字 字符串 列表 元组 词典 Python数字 数字数据类型存储数值。当您为其分配值时,将创建数字对象。例如 – Python完全面向对象,而不是“静态类型”。您不需要在使用它们之前声明变量,或声明它们的类型。 Python中的每个变量都是一个对象。 本教程将介绍几种基本类型的变量。 数字 Python支持两种类型的数字 – 整数和浮点数。 (它也支持复数,这在本教程中不会解释)。 要定义整数,请使用以下语法: 句法 Python程序可以使用任何文本编辑器编写,并且应该有扩展名.py。 Python程序没有必需的第一行或最后一行,但可以给出python的位置作为第一行:#!/ usr / bin / python并成为可执行文件。否则,可以通过键入python file.py从命令提示符运行python程序。没有大括号{}或分号;在蟒蛇这是一个非常高级的语言。通过具有相同的缩进来识别块,而不是大括号。 变量和数据类型 Python中的变量遵循以字母或下划线开头的字母数字名称的标准术语。变量名称区分大小写。变量不需要被声明,并且它们的数据类型是从赋值语句推断出来的。 Python变量 变量是用于存储某些数据(值)的内存中的位置。 它们被赋予独特的名称来区分不同的记忆位置。编写变量名的规则与Python中编写标识符的规则相同。 在使用之前,我们不需要声明一个变量。在Python中,我们只需为变量分配一个值即可。我们甚至不必声明变量的类型。这是根据我们分配给变量的值的类型在内部处理的。 变量赋值 我们使用赋值运算符(=)为变量赋值。任何类型的值都可以分配给任何有效的变量。…

Read More →

验证

验证家庭作业帮助 Python提示:将用户输入验证为数字(整数) 发表于2015年1月8日由管理员 – 无评论↓ 在大多数Python程序中,您将需要通过询问问题和检索用户输入与最终用户进行交互。 为此,您可以使用input()函数:例如 username = input(“你的用户名是什么?”) 1 username = input(“你的用户名是什么?”) 有时您需要检索数字。整数(无小数位数)称为整数。要使用它们作为整数,您将需要使用int()函数将用户输入转换为整数。例如 age = int(输入(“你的年龄是多少”)) 1 age = int(输入(“你的年龄是多少”)) 只要用户输入一个整数,这行代码就可以正常工作。如果错误地输入字母或标点符号,则转换为整数将失败并生成异常(错误),程序将停止运行。 为了验证用户条目并确保它是一个数字,可以使用try … except … .else块发生时捕获此异常,如下所示: 尝试:     value = int(input(“Type a number:”)) 除了ValueError:     print(“这不是整数”) 1 2 3 4 尝试:     value = int(input(“Type a number:”)) 除了ValueError:     print(“这不是整数”) 看看我们如何使用这种方法来定义我们自己的函数(称为inputNumber())来询问一个数字。只要我们期望用户输入一个整数,就可以使用这个新功能代替一个input()函数。此功能使用try … except … .else块在一个while循环中,以便它不断要求用户输入一个数字,直到用户正确。 现实世界的例子: 2005年12月,一家日本证券交易商发行了10亿美元的打字错误,当时他错误地出售了600,000股股票,每股1日元,而不是卖出一个60万日元的股票。几行代码可能避免了这个错误。…

Read More →

字符串模式匹配

字符串模式匹配家庭作业帮助 该模块提供与Perl中类似的正则表达式匹配操作。要搜索的模式和字符串都可以是Unicode字符串以及8位字符串。 正则表达式使用反斜杠字符(’\’)来表示特殊形式,或允许使用特殊字符而不调用其特殊含义。这与Python在字符串文字中的相同目的的使用相同;例如,要匹配文字反斜杠,可能必须将“\\\”作为模式字符串,因为正则表达式必须为\\,每个反斜杠必须在常规Python字符串文字中表示为\\。 解决方案是使用Python的原始字符串符号进行正则表达式模式;在以“r”为前缀的字符串文字中,反斜杠不以任何特殊的方式处理。所以r“\ n”是包含’\’和’n’的两个字符的字符串,而“\ n”是包含换行符的单字符字符串。通常使用原始字符串符号表示Python代码中的模式。 重要的是要注意,大多数正则表达式操作可用作模块级函数和RegexObject方法。这些功能是不需要您首先编译正则表达式对象的快捷方式,但错过了一些微调参数。 也可以看看 第三方正则表达式模块具有与标准库重新配置相兼容的API,但提供了额外的功能和更彻底的Unicode支持。 7.2.1。正则表达式语法 正则表达式(或RE)指定一组与之匹配的字符串;此模块中的函数允许您检查特定字符串是否匹配给定的正则表达式(或者如果给定的正则表达式匹配特定的字符串,这归结为相同的事物)。 正则表达式可以连接形成新的正则表达式;如果A和B都是正则表达式,那么AB也是一个正则表达式。一般来说,如果字符串p匹配A,而另一个字符串q匹配B,则字符串pq将匹配AB。除非A或B包含低优先级操作A和B之间的边界条件;或具有编号组参考。因此,复杂的表达式可以很容易地从简单的原始表达式构造,如这里描述的。有关正则表达式的理论和实现的细节,请参阅上面引用的Friedl书,或几乎任何有关编译器构建的教科书。 以下是正则表达式的简要说明。有关更多信息和更温和的演示文稿,请参阅正则表达式HOWTO。 正则表达式可以包含特殊和普通字符。大多数普通字符,如“A”,“a”或“0”是最简单的正则表达式;他们只是匹配自己。你可以连接普通字符,所以最后匹配字符串’last’。 (在本节的其余部分,我们将以这种特殊风格(通常没有引号)和字符串以“单引号”匹配来写入RE。) 一些字符,如“|”或’(’)是特殊的,特殊字符代表普通字符类,或影响其周围的正则表达式的解释方式正则表达式模式字符串可能不包含空字节,但可以使用\ number表示法指定空字节,例如’\ x00’。 重复限定符(*,+,?,{m,n}等)不能直接嵌套。这样可以避免使用非贪婪修饰符后缀的歧义,以及其他实现中的其他修饰符。要将第二个重复应用于内部重复,可以使用括号。例如,表达式(?:a {6})*匹配六个’a’字符的任意多个。 特殊字符是: ”’(Dot。)在默认模式下,它匹配除换行之外的任何字符。如果DOTALL标志已经被指定,它将匹配任何包含换行符的字符。 ‘^’ (插入符号)匹配字符串的开始,并且在每个换行符之后,MULTILINE模式也会立即匹配。 ‘$’ 匹配字符串的末尾或刚刚在字符串末尾的换行符之前,并且MULTILINEmode也在换行符之前匹配。 foo匹配’foo’和’foobar’,而正则表达式foo $只匹配’foo’。更有趣的是,在’foo1 \ nfoo2 \ n’中正常匹配foo2,而在MULTILINE模式下匹配’foo1’在“foo \ n”中搜索单个$将会找到两个(空)匹配:一个在换行符之前,一个在字符串的末尾。 ‘*’ 导致结果RE匹配前面RE中的0或更多次重复,尽可能多的重复。 ab *将匹配’a’,’ab’或’a’,后跟任意数量的’b’。 ‘+’ 导致产生的RE匹配前面RE中的一个或多个重复。 ab +将匹配’a’,后跟非零数字’b’;它不会匹配“a”。 ‘?’ 导致产生的RE匹配前面RE中的0或1次重复。 ab?将匹配“a”或“ab”。 *?+? ‘*’,’+’和’?’限定词都是贪心的他们匹配尽可能多的文本。有时这种行为是不需要的;如果RE <。*>与<a> b <c>匹配,则它将匹配整个字符串,而不仅仅是<a>。添加?在限定词使它以非贪婪或最小的方式进行比赛;尽可能少的字符将被匹配。使用RE <。*?>将只匹配<a>。 {m} 指定前一个RE的正好m个副本应该匹配;较少的比赛导致整个RE不匹配。例如,{6}将匹配六个’a’字符,但不匹配五个。 {m,n} 导致产生的RE从前面的RE的m到n个重复匹配,尝试匹配尽可能多的重复。例如,{3,5}将匹配3到5个’a’字符。省略m指定下限为零,省略n指定无限上限。例如,一个{4,}…

Read More →

串家庭作业帮助 当你写字符串的时候,你仍然不知道他们在做什么。在本练习中,我们使用复杂的字符串创建一堆变量,以便您可以看到它们的内容。首先解释字符串。 字符串通常是要显示给某人的一些文本,或者是从您正在编写的程序中导出。当你在文本中放置“(双引号)”或“(单引号)”时,Python会知道你想要的是一个字符串,当你把文本放在字符串里面的“或”打印后打印字符串。 字符串可能包含您迄今发现的格式字符。您只需将格式化的变量放在字符串中,然后再输入一个%(百分比)的字符,后跟该变量。唯一的结果是,如果你想要多个格式的字符串打印多个变量,你需要把它们放在()(括号中),用逗号分隔。就好像你告诉我从商店里买了一份物品,你说:“我想要牛奶,鸡蛋,面包和汤。”只有作为程序员,我们才说:“(牛奶,鸡蛋,面包,汤)”。 我们现在将输入一大堆字符串,变量和格式,并打印出来。您还将练习使用简短的缩写变量名称。程序员喜欢通过使用令人厌烦的短而隐含的变量名称来节省时间,所以让我们早点开始阅读和写作。 20 x =“有几种类型的人”。 %10 binary =“binary” do_not =“不要” y =“那些知道%s和那些%s”的人。 %(binary,do_not) 打印x 打印y 打印“我说:%r”。 % X 打印“我也说:’%s’。 %y 搞笑=假 joke_evaluation =“这不是笑话好吗?!%r” 打印笑话评价%热闹 w =“这是左边的…” e =“带右侧的字符串”。 打印w + e 字符串是Python中最受欢迎的类型。我们可以通过用引号括起字符来创建它们。 Python将单引号与双引号相同。创建字符串与向变量赋值一样简单。例如 – var1 =’Hello World!’ var2 =“Python编程” 访问字符串中的值 Python不支持字符类型;这些被视为长度为1的字符串,因此也被认为是一个子字符串。 要访问子串,请使用方括号进行切片以及索引或索引以获取子字符串。例如 – #!/ usr / bin / python var1 =’Hello World!’…

Read More →

堆叠

堆叠家庭作业帮助 正如我们所描述的Python一样,像任何面向对象的编程语言一样,抽象数据类型(如堆栈)的选择实现是创建一个新类。堆栈操作被实现为方法。 现在我们已经将堆栈清楚地定义为抽象数据类型,我们将把注意力转向使用Python来实现堆栈。回想一下,当我们给出抽象数据类型一个物理实现时,我们将实现称为数据结构。 正如我们在1中所述,在Python中,像任何面向对象的编程语言一样,抽象数据类型(如堆栈)的选择实现是创建一个新类。堆栈操作被实现为方法。此外,为了实现一个堆栈,它是一个元素的集合,使用Python提供的原始集合的功能和简单性是有意义的。我们将使用一个列表。 回想一下,Python中的list类提供了一个有序的收集机制和一组方法。例如,如果我们有列表[2,5,3,6,7,4],我们只需要决定列表的哪个端将被认为是堆栈的顶端,哪个是基础。一旦作出了这个决定,可以使用诸如append和pop这样的列表方法实现操作。 以下堆栈实现(ActiveCode 1)假定列表的末尾将保存堆栈的顶部元素。随着堆栈增长(随着推送操作的发生),新项目将被添加到列表的末尾。流行操作将操纵同一端。 这种在保持逻辑特征的同时改变抽象数据类型的物理实现的能力就是工作中抽象的一个例子。然而,即使堆栈将以任何一种方式工作,如果我们考虑两种实现的性能,那肯定是有区别的。回想一下,append和pop()操作都是O(1)。这意味着无论堆栈中有多少项目,第一个实现将在不间断的时候执行push和pop。第二个实现的性能是因为insert(0)和pop(0)操作都将对于大小为n的堆栈都要求O(n)。显然,尽管这些实现在逻辑上是等效的,但是当执行基准测试时,它们将具有非常不同的时序。 使用Python列表实现堆栈 Python提供的列表操作与定义堆栈的操作类似。界面不完全是它应该是,但我们可以编写代码从Stack ADT转换到内置操作。 该代码称为Stack ADT的实现。一般来说,实现是一组满足接口语法和语义要求的方法。 这是一个使用Python列表的Stack ADT的实现:  1  2  3  4  5  6  7  8  9 10 11 12级堆栈:     def __init __(self):         self.items = [] def push(self,item):         self.items.append(item) def pop(自):         return self.items.pop()   def is_empty(self):         return(self.items == []) Stack对象包含一个名为items的属性,它是堆栈中项目的列表。初始化方法将itemsto设置为空列表。 要将一个新项目推到堆栈上,请将其追加到项目上。要从堆栈中弹出一个项目,pop使用同名(同名)列表方法来删除并返回列表中的最后一个项目。 最后,为了检查堆栈是否为空,is_empty将项目与空列表进行比较。 这样的实现,其中方法包括现有方法的简单调用,称为单板。在现实生活中,单板是用于家具制造的优质木材的薄涂层,以隐藏下面的低质量木材。计算机科学家使用这个比喻来描述隐藏实现细节的一小段代码,并提供一个更简单或更标准的界面。 25.4。推挤和弹出 堆栈是通用数据结构,这意味着我们可以添加任何类型的项目。以下示例将两个整数和一个字符串推送到堆栈上: >>> s =…

Read More →

Back to Top