中企动力 > 头条 > python中的数字

网站性能检测评分

注:本网站页面html检测工具扫描网站中存在的基本问题,仅供参考。

python中的数字

数据分析入门之PYTHON语法 公司视频课程

img

荣巧凡

关注

1.学习PYTHON的目的

由于大数据和人工智能的出现,对数据分析的需求日益增多,PYTHON是数据分析主要语言之一。因此学好PYTHON对数据分析以及后续的人工智能学习打下坚实的基础。未来如果从事数据分析、机器学习、人工智能相关工作,需要好好学习PYTHON这门语言。

2.学习数据分析的环境

安装Anaconda,再安装Jupyter notebook。Anaconda为包管理器和环境管理器,Jupyter notebook可以将数据分析报告的代码和图片组合到一个WEB文档中。

Anaconda的安装和使用,可以参考链接:

https://zhihu/question/58033789/answer/254673663

Jupyter

notebook的安装和使用,可以参考链接:

https://zhihu/question/46309360/answer/254638807

3.PYTHON基本语法

3.1注释

注释方便理解代码,可以为任意内容,程序不会运行注释。一般有两种注释方法:

(1) 注释方法1:一行文字注释,可以在注释前面加#

(2) 注释方法2:几行文字注释,可以用‘‘‘ ’’’来包含几行注释文字

3.2变量

在程序中变量为数字或者是任何数据类型,用一个变量名来表示。变量名的起名前半部分名称代表数据的意义,后半部分名称代表数据的类型。在PYTHON中数字不能为变量名的开头,同时PYTHON中对大小写敏感的。

3.3数据类型

PYTHON中的数据类型分为5大类:

(1) 字符串

(2) 数字

(3) 容器

(4) 布尔

(5) NONE

3.3.1数据类型:字符串

Python中的字符串用单引号(')或双引号(")括起来

3.3.2数据类型:数值

Python3 支持int(整数)、float(浮点数)、complex(复数)

3.3.3数据类型:容器

3.3.3.1数据类型:容器-列表

List(列表) 是 Python 中使用最频繁的数据类型。

列表中元素的类型可以不相同,它支持数字,字符串甚至可以包含列表(所谓嵌套)。

列表是写在方括号([])之间、用逗号分隔开的元素列表。

列表涉及到常用操作:增加,删除,查询,修改

增加:

删除:

查询:

修改:

3.3.3.2数据类型:容器-集合(Sets)

集合(set)是一个无序不重复元素的序列。

集合涉及到常用操作:增加,删除,查询,修改

增加

删除

查询

修改

3.3.3.3数据类型:容器-字典(Dic)

字典是一种映射类型,字典用"{ }"标识,它是一个无序的键(key) : 值(value)对集合。

键(key)必须使用不可变类型,在同一个字典中,键(key)必须是唯一的。

列表是有序的对象结合,字典是无序的对象集合。

增加

删除

查询

修改

3.3.3.4数据类型:布尔类型

布尔类型分为‘True’或者‘False’

3.3.3.5数据类型:空值

4.条件判断

Python条判断语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。

基本语法为:简单判断if

……else……

多个条件判断if……elif……else……

比较符号 : 小于

小于等于 大于等于>= 不等于!= 等于==

逻辑比较 : and 并且

or或 not非

简单判断:

多重判断:

5.循环

Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串。

没有循环的情况下,需要每个元素打印一遍。

有循环后,循环会自动遍历每个元素。

清洗字典中的数据

跳出循环

退出循环

6.函数

函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。

函数能提高应用的模块性,和代码的重复利用率。你已经知道Python提供了许多内建函数,比如input()。但你也可以自己创建函数,这被叫做用户自定义函数

定义函数

使用函数

函数参数:不可变数据类型

字符串、数字、元祖为3种不可变数据类型,其他的都是可变的数据类型

函数参数:可变数据类型

变量作用域

Python的作用域一共有2种:全局作用域,局部作用域。

定义在函数内部的变量拥有一个局部作用域,定义在函数外的拥有全局作用域。

局部变量只能在其被声明的函数内部访问,而全局变量可以在整个程序范围内访问。

7.数据结构

常用的数据结构有:队列、栈、排序字典、计数

队列的特点是先进先出,后进后出

栈的数据结构特点是先进后出,后进先出。

排序字典

由于字典内定义的元素是无序的,用排序字典可以对字典内部的元素进行排序。

计数器Counter

总结:

学习PYTHON,对于每行代码还是需要去实践一遍,很多代码看似简单,但是实践起来会有或多或少的错误,很赞同猴子老师的一句话,编程其实是一门手艺活,只有多练才能熟练掌握。

使用Python轻松实现字母数字转换 流量视频课程

img

狐媚

关注

由于有几个内置的函数,这个开发者可以使用Python轻松地解决一个复杂的难题。继续阅读,看看如何!

在我第一次CTF(夺旗)比赛中,我注意到一些挑战需要角色转换才能发现一个字符串的真实价值。我花了几分钟的时间试图找出一个可以用来“揭露”给定内容的模式。

挑战1

收集有关给定IP地址的信息后,找到一个文件,其中包含以下内容:

rxms {} DqhqdeqpRxms它看起来完全是随机的,但是鉴于这些标志有一个模式:“flag {some-hash-here}”,我们可以尝试一个字符转换:

rxms{DqhqdeqpRxms}synttzouuapvvbqwwcrxxdsyyetzzfuaagvbbhwccixddjyeekzfflag{...} <- real content

我们不得不在字母表中跳12个位置来获取字符串的真实内容。

挑战2

为了连接到一个服务,我们必须解决密码短语:

AQW UJCNN PQV RCUU乍一看,密码短语看起来像凯撒的密码。解决这个挑战也需要改变角色,但是这次倒退了:

AQW UJCNN PQV RCUUZPV TIBMM OPU QBTTYOU SHALL NOT PASS <- backward content

Python的救援

Python有内置的函数ord()和chr()可以帮助我们完成这个任务:

class Alphanumeric(object): ALPHABET_LENGTH = 26 def __init__(self, nrange=None): self.current_letter = 'z' self.current_number = 0 self.nrange = nrange def forward_letter(self, letter, positions): if letter.islower(): unicode_point = ord('a') else: unicode_point = ord('A') start = ord(letter) - unicode_point offset = ((start + positions) % self.ALPHABET_LENGTH) + unicode_point self.current_letter = chr(offset) return self.current_letter def backward_letter(self, letter, positions): if letter.islower(): unicode_point = ord('a') else: unicode_point = ord('A') start = ord(letter) - unicode_point offset = ((start - positions) % self.ALPHABET_LENGTH) + unicode_point self.current_letter = chr(offset) return self.current_letter def next_letter(self): return self.forward_letter(self.current_letter, 1) def previous_letter(self): return self.backward_letter(self.current_letter, 1) def forward_number(self, number, positions): if not self.nrange: self.current_number = number + positions return self.current_number index = self.nrange.index(number) start = index + positions offset = (start % len(self.nrange)) self.current_number = self.nrange[offset] return self.current_number def backward_number(self, number, positions): if not self.nrange: return number - positions index = self.nrange.index(number) start = index - positions offset = (start % len(self.nrange)) self.current_number = self.nrange[offset] return self.current_number def next_number(self): return self.forward_number(self.current_number, 1) def previous_number(self): return self.backward_number(self.current_number, 1) def forward_alphanumeric(self, alpha, positions, ignore_numbers=False, ignore_letters=False): result = "" for char in alpha: if char.isdigit() and not ignore_numbers: char = str(self.forward_number(int(char), positions)) if char.isalpha() and not ignore_letters: char = self.forward_letter(char, positions) result += char return result def backward_alphanumeric(self, alpha, positions, ignore_numbers=False, ignore_letters=False): result = "" for char in alpha: if char.isdigit() and not ignore_numbers: char = str(self.backward_number(int(char), positions)) if char.isalpha() and not ignore_letters: char = self.backward_letter(char, positions) result += char return result

使用字母数字类:

alpha = Alphanumeric()print alpha.forward_alphanumeric('abc123', 1)print alpha.backward_alphanumeric('abc123', 1)// prints: bcd234// prints: zab012

请注意,您可以定义一个数字范围,以便在移动数字时执行“循环循环”:

alpha = Alphanumeric([1, 2, 3, 4 , 5])print alpha.forward_alphanumeric('123', 6)// prints: 234

一个CLI工具的救援

考虑下一个CTF的挑战,我写了一个名为shift的小CLI工具,可以更容易地转换字母数字字符。

echo "Dqhqdeqp Oazfqzf" | python shift.py -p 12 --backwards// prints: "Reversed Content"python shift.py abc123 -p 5// prints: "fgh678"

您可以在GitHub上看到文档和源代码。

Python——while循环实现猜数字小游戏 营销视频课程

img

常碧彤

关注

首先明白随机数的产生,python中随机数是由random模块实现的,引用模块代码:

import random

直接上代码图:

解释各行代码的含义:

119行是一个随机数模块引入。

120行 是从1-100内随机产生一个数字并且赋值给num

121提示用户输入一个1-100的数字

123行是一个计数器,gss=1,用来计数猜这个游戏总共猜了多少次。

124行while循环当用户输入一个数字it不等于随机产生的数字num时一直做循环。

gass计数器累加。

126-129行是一个判断用户输入的num范围是不是1-100,如果不是,则要重新输入。

130-132行是判断输入的it与num比较,如果输入的it>num,则提示“大了”,重新输入一个小的数字。

133-135行是判断输入的it与num比较,如果输入的it136-137行,当你猜对时,输出此行,并且输出137行 你做了XX次,次数是gss。

附上源码:

import random

num=random.randint(1,100)

print('输入一个100以内的整数')

it=int(input())

gss = 1

while it!=num:

gss+=1

if it>100 or it

print('输入1-100的整数')

it=int(input())

pass

elif it>num:

print('太大了')

it=int(input())

elif itprint('太小了')

it=int(input())

print('you win')

print('you make it',gss)

附上作者帅照和工作日常:

作者帅照

工作日常

img

在线咨询

建站在线咨询

img

微信咨询

扫一扫添加
动力姐姐微信

img
img

TOP