day-python入门3
本节内容
鸡汤、电影
IDE介绍
知识回顾
数据类型
For循环
while循环
列表及常用操作
IDE介绍 IDE即集成开发环境
常见IDE
Visualstudio : windows C C++开发
Eclipse: Java开发
Vim:大神&小白
python常用: pycharm、sublime、IDLE、spider等
主推:pycharm
- Pycharm工程建立方式
File ==》 New Project
- Pycharm 字体设置
File ==》 Setting ==》Editor ==》Color& Fonts ===》Fonts
- Pycharm 解释器选择
File ==》 Setting ==》Project ===》 Project Interpreter
- Pycharm 代码模板设置
File ==》 Setting ==》Editor ==》 File and Code Templates ===》 Python Script
输入以下内容:
# -*- coding: utf-8 -*-
"""
Created on ${TIME} ${DATE}
@author: Song
@E-mail: songkunhuang@163.com """
字符串格式化输出
# -*- coding: utf-8 -*-
"""
Created on 17:19 2017/8/24
@author: Song
@E-mail: songkunhuang@163.com """ name = input("Name:")
age = input("Age:")
job = input("Job:")
salary = input("Salary:") # print(name, age, job, salary) # msg = """------info of Alex------
# name:Alex
# age:22
# job:IT
# salary:3000
# ---------end-----------
# """
# print(msg) # msg = """------info of %s------
# name:%s
# age:%s
# job:%s
# salary:%s
# ---------end-----------
# """ % (name, name, age, job, salary)
# print(msg) msg = """------info of %s------
name:%s
age:%s
job:%s
salary:%s
---------end-----------
""" % (name, name, age, job, salary) # 改为%d 报错 改为%f输出浮点数
print(msg)
执行结果: C:\Python3\python3.exe D:/Oldboy/pythonfullstack/day5/format_output.py
Name:alex
Age:22
Job:IT
Salary:5000
------info of alex------
name:alex
age:22
job:IT
salary:5000
---------end-----------
% () 元组 %d %s %f
%s也可以直接用于输出数字,不报错(内部调用str())
数据类型
数值
整数 int python2中存在long型
python2中:
Python 2.7.13 (v2.7.13:a06454b1afa1, Dec 17 2016, 20:53:40) [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> type(100)
<type 'int'>
>>> type(2*31)
<type 'int'>
>>> type(2**31)
<type 'long'>
>>> 2**31
2147483648L # L表示long型数据
python3中:
Python 3.6.1 (v3.6.1:69c0db5, Mar 21 2017, 18:41:36) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> type(100)
<class 'int'>
>>> type(2*34)
<class 'int'>
>>> type(2*100)
<class 'int'>
浮点数 float
Python 3.6.1 (v3.6.1:69c0db5, Mar 21 2017, 18:41:36) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> type(3/2)
<class 'float'>
>>> 3/2
1.5
除法区别
在python3中:/ 表示数学除法 , // 表示地板除
>>> 3/2
1.5
>>> 3//2
1
在python2中:都是地板除
Python 2.7.13 (v2.7.13:a06454b1afa1, Dec 17 2016, 20:53:40) [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> 3/2
1
>>> 3//2
1
在python2中要实现数学除法,需要导入特殊方法:
>>> from __future__ import division
>>> 3/2
1.5
>>> 3//2
1
布尔值
表示真假,即 True False
非零表示真,零表示假
>>> bool(1)
True
>>> bool(3)
True
>>> bool(0)
False
字符串
python中没有字符的概念,python认为单个字符就是长度为1的字符串
Str()方法可以实现类型转换
>>> type(str(11))
<type 'str'>
For 循环
for循环是有限循环 ,一般与 in 连用 for in
range是python中的常用序列生成方法,用于生成整数序列列表
>>> range(10)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
range更一般的用法: range(start, end , step) 其中步长只能为整数
>>> range(3,8,2)
[3, 5, 7]
# a = range(3)
# print(a)
# in py3.x range is iterable & iterator
# in py2.x xrange is iterable & iterator object range is list
打印0-100
# for i in range(101):
# print(i)
打印0-100的奇数
方法一: If 取余运算
for i in range(101):
if i % 2 == 1:
print(i)
方法二:使用range方法,设置步长为2:
for i in range(1,101,2):
print(i)
Break
用户输入 用For循环输多次尝试,正确的时候exit(),或者break
用户名密码验证程序 在尝试三次后退出程序 range(3)
用户名密码验证程序 在尝试三次后退出程序,并打印“你尝试次数太多了,滚”
方法一:使用标志位 passed_authentication=False
方法二:for…else…连用 else只在循环正常结束时执行
# 实现登陆接口功能 登陆正确退出 登陆三次错误 不允许再登陆 _username = "alex"
_password = "abc123" # passed_authentication = False for i in range(3):
username = input("Username:")
password = input("password:") if username == _username and password == _password:
print("Welcome, %s " % username)
passed_authentication = True
# exit()
break
else:
print("用户名或密码错误")
else:
print("你试了太多次了,滚")
# if not passed_authentication:
# print("你试了太多次了,滚")
Continue 打印1-100,跳过50-70之间的数 1.用continue 2. 用or语句
for i in range(0,101):
if i > 50 and i < 70:
continue
print(i) for i in range(0,101):
if i <= 50 or i >= 70:
print(i)
循环嵌套
Break只能跳出一层循环,如果想跳出多层循环,并依赖内层循环跳出
即实现you jump I jump 效果可以使用标志位
# for i in range(10):
# print("----", i, "------")
# for j in range(10):
# print("Layer2:", j)
# if j > 5:
# break # 只能跳出一层循环 break_from_layer_two = False for i in range(10):
print("----", i, "------")
for j in range(10):
print("Layer2:", j)
if j > 5:
break_from_layer_two = True # you jump
break # 只能跳出一层循环
if break_from_layer_two:
break # I jump
While循环
无限循环 while True当山峰没有棱角的时候
测试循环执行有多快 time统计时间
While循环实现用户登陆接口 直接copy for程序 使用count计数器计数
While else 实现与for循环登陆接口程序一样的效果
基本数据结构:列表、字典、元组
列表
列表的引入:多个变量存储一列数据困难,数据之间没有联系,无法知道上下文
使用列表存储人名
列表的基本方法
查:
1.索引、切片。根据位置a[0] a[:3] a[-1] a[0::2] a[3::-1]
2. count方法 统计个数
3.index 根据内容查位置
增:
追加 append
插入 insert(index,“content”)
扩展 extend 改变原列表
加法 a + b 不改变原列表 直接组合起来
删:
Remove(“content”) 根据内容删除,只删除一个
Pop(index) 有返回值 默认弹出最后一个值
Del a del a[0] 从内存中删除
改:
a[0] = ‘new’
a[a.index(“old content”)]=”new content”
a.sort(reverse=False) 排序(升序)
a.reverse() 列表反向
身份运算: in 查找列表中是否存在该元素
关于如何找到第二个重复值的索引
先找到第一个值的索引 然后对列表切片,找到余下的小列表的值索引,然后将两个索引进行叠加,即找到第二个重复值的位置
name = ['wuchao', 'jixin', 'ligang', 'xiaopang', 'sanpao', 'ligang']
print(name) # 查
print(name[0])
print(name[0:2])
print(name[2:])
print(name[:-2])
print(name[0:4:2])
print(name[4::-1])
print(name.count('ligang'))
print(name.index('ligang')) # 根据内容找位置 # 增
name.append("append classmate")
print(name)
name.insert(2, "insert classmate")
print(name)
a = [1, 2, 3]
b = [2, 7, 9]
a.extend(b) # 扩展列表
print(a)
print(a + b) # 删
name.remove("append classmate")
print(name)
name.remove("ligang")
print(name) # 只能删除一个值
name.pop() # 默认弹出最后一个值
print(name)
delete_name = name.pop(3) # 按索引弹出元素 可以获得弹出的值
print(name)
print(delete_name)
del name[3]
print(name)
del name # 从内存中删除 # 改
name[0] = 'linchao'
name[name.index('xiaopang')] = 'xiaopeng'
print(name)
name.reverse()
print(name)
name.sort(reverse=True) # 默认从小到大 改为True为从大到小 ASCII码排序
print(name) # 身份运算符
print('ligan' in name) # 找到第二个'ligang'
first_ligang_index = name.index('ligang')
print(first_ligang_index)
little_list = name[first_ligang_index+1:]
little_list_ligang_index = little_list.index("ligang")
print(little_list_ligang_index)
second_ligang_index = first_ligang_index + little_list_ligang_index + 1
print(second_ligang_index)
Type()
作业 购物车
day-python入门3的更多相关文章
- python入门简介
Python前世今生 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC ...
- python入门学习课程推荐
最近在学习自动化,学习过程中,越来越发现coding能力的重要性,不会coding,基本不能开展自动化测试(自动化工具只是辅助). 故:痛定思痛,先花2个星期将python基础知识学习后,再进入自动化 ...
- Python运算符,python入门到精通[五]
运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算.例如:2+3,其操作数是2和3,而运算符则是“+”.在计算器语言中运算符大致可以分为5种类型:算术运算符.连接运算符.关系运算符.赋值运 ...
- Python基本语法[二],python入门到精通[四]
在上一篇博客Python基本语法,python入门到精通[二]已经为大家简单介绍了一下python的基本语法,上一篇博客的基本语法只是一个预览版的,目的是让大家对python的基本语法有个大概的了解. ...
- Python基本语法,python入门到精通[二]
在上一篇博客Windows搭建python开发环境,python入门到精通[一]我们已经在自己的windows电脑上搭建好了python的开发环境,这篇博客呢我就开始学习一下Python的基本语法.现 ...
- visual studio 2015 搭建python开发环境,python入门到精通[三]
在上一篇博客Windows搭建python开发环境,python入门到精通[一]很多园友提到希望使用visual studio 2013/visual studio 2015 python做demo, ...
- python入门教程链接
python安装 选择 2.7及以上版本 linux: 一般都自带 windows: https://www.python.org/downloads/windows/ mac os: https:/ ...
- Python学习【第二篇】Python入门
Python入门 Hello World程序 在linux下创建一个叫hello.py,并输入 print("Hello World!") 然后执行命令:python hello. ...
- python入门练习题1
常见python入门练习题 1.执行python脚本的两种方法 第一种:给python脚本一个可执行的权限,进入到当前存放python程序的目录,给一个x可执行权限,如:有一个homework.py文 ...
- Python入门版
一.前言 陆陆续续学习Python已经近半年时间了,感觉到Python的强大之外,也深刻体会到Python的艺术.哲学.曾经的约定,到现在才兑现,其中不乏有很多懈怠,狼狈. Python入门关于Pyt ...
随机推荐
- Poj(1789),最小生成树,Prim
题目链接:http://poj.org/problem?id=1789 还是套路. #include <stdio.h> #include <string.h> #define ...
- ios各层
数据持久层.业务逻辑层.表示层 数据持久层: 持久化(Persistence)意思就是当你退出app的时候它还会存在. dao层:DAO (Data Access Object) 数据访问对象是一个面 ...
- python实现连续子数组的最大和
题目描述 HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学.今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决.但是,如果向量 ...
- P2341 [HAOI2006]受欢迎的牛
P2341 [HAOI2006]受欢迎的牛 塔尔羊标准模板(我才不会告诉你我嘴里含着一个九省联考的出题人) 不会劈配.林克卡特树.制胡窜 我还会叉粪宿主,梳妆素组,西安段素 #include<c ...
- 前端css盒模型及标准文档流及浮动问题
1.盒模型 "box model"这一术语是用来设计和布局时使用,然后在网页中基本上都会显示一些方方正正的盒子.我们称为这种盒子叫盒模型. 盒模型有两种:标准模型和IE模型.这里重 ...
- C++ 编写的解码器小程序 map
c++ prime 5 ex11_4 代码如下 // ex11_4_word_transform.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h&quo ...
- lintcode 110最小路径和
最小路径和 描述 笔记 数据 评测 给定一个只含非负整数的m*n网格,找到一条从左上角到右下角的可以使数字和最小的路径. 注意事项 你在同一时间只能向下或者向右移动一步 您在真实的面试中是否遇到过 ...
- 【PHP项目】$_SEVER详解
$_SERVER['HTTP_ACCEPT_LANGUAGE']//浏览器语言 $_SERVER['REMOTE_ADDR'] //当前用户 IP . $_SERVER['REMOTE_HOST'] ...
- 【yii2】 yii框架如果控制器和方法都是多个单词组成应该怎样写请求链接
最近的一个项目碰到这种问题,摸索出了解决办法,故此记录下 example 如果控制器为 ShopCollect 方法为 UserList solution 请求的链接应该为 doman.com/sho ...
- Android内购订单验证 --- php实现
直接上代码: function googleVerify($sdata,$google_public_key) { $sdata = json_decode($sdata,true); $in_app ...