第五课笔记

第五课笔记:
http://note.youdao.com/notesha ... 6DAE1
 
如有错误,欢迎指出!! 谢谢!!
以下是脑图

CSV格式文件操作.png


日期与时间.png


JSON格式文件操作.png


面向对象编程.png

 
继续阅读 »
第五课笔记:
http://note.youdao.com/notesha ... 6DAE1
 
如有错误,欢迎指出!! 谢谢!!
以下是脑图

CSV格式文件操作.png


日期与时间.png


JSON格式文件操作.png


面向对象编程.png

  收起阅读 »

第五课 文件操作、面向对象(上)

       这一讲的内容相当丰富,记笔记记得手麻,还是喜欢手写笔记^_^。左边依旧是示例,右边仍然是知识点,请各位多多指教。
IMG_1410(20180413-200446).jpg


IMG_1411(20180413-200438).jpg


IMG_1412(20180413-200432).jpg


IMG_1413(20180413-200426).jpg


IMG_1414(20180413-200418).jpg


IMG_1415(20180413-200344).jpg


IMG_1422(20180413-200410).jpg
继续阅读 »
       这一讲的内容相当丰富,记笔记记得手麻,还是喜欢手写笔记^_^。左边依旧是示例,右边仍然是知识点,请各位多多指教。
IMG_1410(20180413-200446).jpg


IMG_1411(20180413-200438).jpg


IMG_1412(20180413-200432).jpg


IMG_1413(20180413-200426).jpg


IMG_1414(20180413-200418).jpg


IMG_1415(20180413-200344).jpg


IMG_1422(20180413-200410).jpg
收起阅读 »

第四课晓宁Python函数(下)笔记

#Python人工智能基础篇-第四课笔记
## 函数(下)
###1.局部变量

* 函数内部定义函数
* 不同函数内的局部变量可以定义相同的名字,互不影响
* 作用范围:函数体内有效,其他函数不能直接使用

####1.1 局部变量实例
#局部变量
def set_name():
name = "zhangsan"
return name

def get_name(name):
name = "lisi" //此处不修改name值,应该打印zhangsan
print(name)

nm = set_name()
get_name(nm) //输出结果“lisi”
###2.全局变量

* 函数外部定义的变量
* 作用范围:可以再不同函数中使用
* 在函数内使用global关键字实现修改全局变量的值
* 全局变量命名建议以g_开头,如g_game

####2.1全局变量实例
name = "zhangsan"
def get_name():
print(name)

def get_name2():
print(name)

get_name() //输出zhangsan
get_name2() //输出zhangsan
print(name) //输出zhangsan
####2.2在函数内使用global关键字
age = 20
def change_age():
global age
age = 25
print("函数体内age=%d"%age)//输出函数体内age=25

change_age()
print("函数体外age=%d"%age) //输出函数体外age=25

###3、函数参数
####3.1缺省参数

* 函数定义带有初始值的形参
* 函数调用时,缺省参数可传,也可不穿
* 缺省参数一定要位于参数列表的最后
* 缺省参数数量没有限制

#####3.1.1 缺省函数实例
#缺省参数
def x_y_sum(x,y=20):
print("x=%d"%x)
print("y=%d"%y)
return x + y
sum1 = x_y_sum(10)
print(sum1) //输出结果x=10,y=20 30
sum2 = x_y_sum(10,30)
print(sum2) //输出结果x=10,y=30 40

####3.2命名参数

* 调用带有参数的函数时,通过指定参数名称传入参数的值
* 可以不按函数定义的参数顺序传入
#####3.2.1 命名函数实例
def x_y_sum(x=10,y=20):
return x + y
#注意:函数调用的时候命名参数的名称与函数定义时的形参名称相同,但是顺序可以不同
rs1 = x_y_sum(y=30,x=15)
rs2 = x_y_sum(x=15)
rs3 = x_y_sum()

print("rs1=%d"%rs1) //输出结果rs1=45
print("rs2=%d"%rs2) //输出结果rs2=35
####3.3不定长参数


* 函数可以接受不定个数的参数传入
* def function([formal_args,]*args)函数调用时,传入的不定参数会被封装成元组
* def function([formal_args,]**args)函数调用时,如果传入key = value的形式的不定长参数,会被封装成字典

####3.3.1 第一种定义实例
#def fuction([formal_args,]*args)

#改变不定长参数的位置
def any_num_sum2(x,*args,y=10):
print("args={}".format(args))
print("x={}".format(x))
print("y={}".format(y))
rs = x + y
if len(args) > 0:
for arg in args:
rs += arg
return rs

rs1 = any_num_sum2(20)
rs2 = any_num_sum2(20,30,y=100)
rs3 = any_num_sum2(20,30,40,50,60,y=100)
print(rs1) //输出结果 args={},x=20,y=10 rs1=30
print(rs2) //输出结果 args=(30,) x=20 y=100 rs2=150
print(rs3) //输出结果 args=(30, 40, 50, 60) x=20 y=100 rs3=300
###4递归函数

* 函数调用自身
* 注意:递归过程中要有用于结束递归的判断

####4.1 递归函数实例
def recursive_for(num):
rs = num
for i in range(1,num):# (1,4) = [1,2,3)
rs *= i
return rs
result = recursive_for(4)
print(result) //输出结果24
继续阅读 »
#Python人工智能基础篇-第四课笔记
## 函数(下)
###1.局部变量

* 函数内部定义函数
* 不同函数内的局部变量可以定义相同的名字,互不影响
* 作用范围:函数体内有效,其他函数不能直接使用

####1.1 局部变量实例
#局部变量
def set_name():
name = "zhangsan"
return name

def get_name(name):
name = "lisi" //此处不修改name值,应该打印zhangsan
print(name)

nm = set_name()
get_name(nm) //输出结果“lisi”
###2.全局变量

* 函数外部定义的变量
* 作用范围:可以再不同函数中使用
* 在函数内使用global关键字实现修改全局变量的值
* 全局变量命名建议以g_开头,如g_game

####2.1全局变量实例
name = "zhangsan"
def get_name():
print(name)

def get_name2():
print(name)

get_name() //输出zhangsan
get_name2() //输出zhangsan
print(name) //输出zhangsan
####2.2在函数内使用global关键字
age = 20
def change_age():
global age
age = 25
print("函数体内age=%d"%age)//输出函数体内age=25

change_age()
print("函数体外age=%d"%age) //输出函数体外age=25

###3、函数参数
####3.1缺省参数

* 函数定义带有初始值的形参
* 函数调用时,缺省参数可传,也可不穿
* 缺省参数一定要位于参数列表的最后
* 缺省参数数量没有限制

#####3.1.1 缺省函数实例
#缺省参数
def x_y_sum(x,y=20):
print("x=%d"%x)
print("y=%d"%y)
return x + y
sum1 = x_y_sum(10)
print(sum1) //输出结果x=10,y=20 30
sum2 = x_y_sum(10,30)
print(sum2) //输出结果x=10,y=30 40

####3.2命名参数

* 调用带有参数的函数时,通过指定参数名称传入参数的值
* 可以不按函数定义的参数顺序传入
#####3.2.1 命名函数实例
def x_y_sum(x=10,y=20):
return x + y
#注意:函数调用的时候命名参数的名称与函数定义时的形参名称相同,但是顺序可以不同
rs1 = x_y_sum(y=30,x=15)
rs2 = x_y_sum(x=15)
rs3 = x_y_sum()

print("rs1=%d"%rs1) //输出结果rs1=45
print("rs2=%d"%rs2) //输出结果rs2=35
####3.3不定长参数


* 函数可以接受不定个数的参数传入
* def function([formal_args,]*args)函数调用时,传入的不定参数会被封装成元组
* def function([formal_args,]**args)函数调用时,如果传入key = value的形式的不定长参数,会被封装成字典

####3.3.1 第一种定义实例
#def fuction([formal_args,]*args)

#改变不定长参数的位置
def any_num_sum2(x,*args,y=10):
print("args={}".format(args))
print("x={}".format(x))
print("y={}".format(y))
rs = x + y
if len(args) > 0:
for arg in args:
rs += arg
return rs

rs1 = any_num_sum2(20)
rs2 = any_num_sum2(20,30,y=100)
rs3 = any_num_sum2(20,30,40,50,60,y=100)
print(rs1) //输出结果 args={},x=20,y=10 rs1=30
print(rs2) //输出结果 args=(30,) x=20 y=100 rs2=150
print(rs3) //输出结果 args=(30, 40, 50, 60) x=20 y=100 rs3=300
###4递归函数

* 函数调用自身
* 注意:递归过程中要有用于结束递归的判断

####4.1 递归函数实例
def recursive_for(num):
rs = num
for i in range(1,num):# (1,4) = [1,2,3)
rs *= i
return rs
result = recursive_for(4)
print(result) //输出结果24
收起阅读 »

第四课笔记(函数(下))

为了函数变为一张,我把函数上下合成了一篇笔记,一下是链接。
http://note.youdao.com/notesha ... 9B2F2
 

函数.png

 
继续阅读 »
为了函数变为一张,我把函数上下合成了一篇笔记,一下是链接。
http://note.youdao.com/notesha ... 9B2F2
 

函数.png

  收起阅读 »

第四课:函数

还请移步到有道云笔记分享:
 
https://note.youdao.com/share/ ... e%23/
 
还请移步到有道云笔记分享:
 
https://note.youdao.com/share/ ... e%23/
 

第四课 函数(下)

还是手写版的,右边知识点,左边示例


IMG_1401(20180412-153017).jpg


IMG_1402(20180412-153025).jpg


IMG_1403(20180412-153034).jpg


IMG_1404(20180412-153041).jpg


IMG_1405(20180412-153049).jpg


IMG_1406(20180412-153055).jpg

 
继续阅读 »
还是手写版的,右边知识点,左边示例


IMG_1401(20180412-153017).jpg


IMG_1402(20180412-153025).jpg


IMG_1403(20180412-153034).jpg


IMG_1404(20180412-153041).jpg


IMG_1405(20180412-153049).jpg


IMG_1406(20180412-153055).jpg

  收起阅读 »

#奶茶店#第三次作业(⊙﹏⊙)b


1523502045314.png

1523502076824.png

1523502109721.png

等看看讲解再修改一下,做的时候感觉题目理解偏了(⊙﹏⊙)b

1523502045314.png

1523502076824.png

1523502109721.png

等看看讲解再修改一下,做的时候感觉题目理解偏了(⊙﹏⊙)b

第一课 Python基础语法 ~慌慌

一 变量
1 变量的定义
  1.1 使用type(变量)查看变量类型
二 数据类型
1 Numbers(数字)
  1.1 int(有符号整数)
  1.2 float (浮点型)
  1.3 complex (复数)
2 Boolean (布尔类型)---首字母一定要大写
  2.1 True
  2.2 False
3 String (字符串)----用单引号或双引号括起来的
4 List (列表)
5 Tuple (元组)
6 Dictionary (字典)
三 input输入、print输出
1 input()用于在程序执行过程中接收用户输入的内容,默认接收的输入内容为字符串类型
2 print()用于在程序执行过程中输出内容
  2.1 直接输出内容----print(“hello python”)
  2.2 输出单个和多个变量----name=“张三”    print(name)
  2.3 格式化输出----涉及格式化占位符
      card_ID=input(“请输入卡号:”)
      pwd=input(“请输入密码:”)
      print(“您输入的卡号是:%s”%card_ID)
      print(“您输入的密码是:%s”%pwd)
四 常用的格式化占位符
eg:格式化输出应用示例:print(“您输入的卡号是:%s”%card_ID)
1 %s 通过str()字符串转换来格式化
2 %f 浮点实数
3 %d 有符号十进制整数
eg 格式化输出时,打印%要使用%%表示是字符串而不是转换说明符
   p=99.99
   print(“您战胜了全国%.2f%%的用户”%p)
4 print无换行输出
   print(“hello”,end=“”)
   print(“Python”)
5  print输出换行符
   print(“中国\n北京”)
6 转义字符\
   print(“中国\\n北京”)
7 format函数
  card_ID=input(“请输入卡号:”)
  pwd=input(“请输入密码:”)
  print(“您输入的卡号是:{},您输入的密码是:{}”.format(card_ID,pwd))
五 类型转换
1 int(X)将x转换为一个整数
  float(X)将x转换为一个浮点数
  str(X)将x转换为字符串
继续阅读 »
一 变量
1 变量的定义
  1.1 使用type(变量)查看变量类型
二 数据类型
1 Numbers(数字)
  1.1 int(有符号整数)
  1.2 float (浮点型)
  1.3 complex (复数)
2 Boolean (布尔类型)---首字母一定要大写
  2.1 True
  2.2 False
3 String (字符串)----用单引号或双引号括起来的
4 List (列表)
5 Tuple (元组)
6 Dictionary (字典)
三 input输入、print输出
1 input()用于在程序执行过程中接收用户输入的内容,默认接收的输入内容为字符串类型
2 print()用于在程序执行过程中输出内容
  2.1 直接输出内容----print(“hello python”)
  2.2 输出单个和多个变量----name=“张三”    print(name)
  2.3 格式化输出----涉及格式化占位符
      card_ID=input(“请输入卡号:”)
      pwd=input(“请输入密码:”)
      print(“您输入的卡号是:%s”%card_ID)
      print(“您输入的密码是:%s”%pwd)
四 常用的格式化占位符
eg:格式化输出应用示例:print(“您输入的卡号是:%s”%card_ID)
1 %s 通过str()字符串转换来格式化
2 %f 浮点实数
3 %d 有符号十进制整数
eg 格式化输出时,打印%要使用%%表示是字符串而不是转换说明符
   p=99.99
   print(“您战胜了全国%.2f%%的用户”%p)
4 print无换行输出
   print(“hello”,end=“”)
   print(“Python”)
5  print输出换行符
   print(“中国\n北京”)
6 转义字符\
   print(“中国\\n北京”)
7 format函数
  card_ID=input(“请输入卡号:”)
  pwd=input(“请输入密码:”)
  print(“您输入的卡号是:{},您输入的密码是:{}”.format(card_ID,pwd))
五 类型转换
1 int(X)将x转换为一个整数
  float(X)将x转换为一个浮点数
  str(X)将x转换为字符串 收起阅读 »

#奶茶店#第二次作业


1523427665380.png


1523427703011.png


1523427728120.png

 
'''
奶茶店
第二次作业修改
'''


#欢迎语
welcomeWord = '小象奶茶店馆售卖宇宙无敌奶茶,奶茶虽好可不要贪杯哦!每次限尝鲜一种口味:'
naichaWord = '1.原味奶茶 3元 2.香蕉奶茶 5元 3.草莓奶茶 5元 4.香芋奶茶 7元 5.珍珠冰奶茶 7元'
sorryWord1 = 'Woops!我们只售卖以上'
sorryWord2 = '种奶茶口味哦!新口味敬请期待!'
naicha = {'1':'原味奶茶','2':'香蕉奶茶','3':'草莓奶茶','4':'香芋奶茶','5':'珍珠冰奶茶'}
naichaCost = {'1':3,'2':5,'3':5,'4':7,'5':7}

#设置会员
members =
membersLog =

#购物信息
costPerson =
costAllLog =

#设置固定客户数
costerNo = 20
fmemberNo = 37001
plusNo = 0

print(welcomeWord)
print(naichaWord)

while costerNo>0:
isnew=True
now = input('请输入会员号(没有会员号请输入 N):')
if now=='N' :
now = str(37001+plusNo)
plusNo+=1
print('您的会员号是:{}'.format(now))
members.append(now)
else:
if now not in members:
isExist=input('系统里没有此会员号,重新输入请输 Y ,系统分配请输 任意值: ')
if now=='Y' :
now=input('请输入重新输入会员号:')
else:
now = str (37001 + plusNo)
plusNo += 1
print('您的会员号是:{}'.format(now))
members.append(now)
else:
isnew = False
print('Welcome {}'.format(now))

# print(naicha.keys())
buyNo=input('请输入购买序号:')

if buyNo not in naicha:
print(sorryWord1+'{}'.format(len(naicha.keys()))+sorryWord2)
else:
buyNumber = int(input('请输入购买数量:'))
#print(type(buyNumber))
if isnew:
sale = 1
else:
sale = 0.9
print(type(naichaCost[buyNo]))
allCost=buyNumber*sale*naichaCost[buyNo]
print('您本次购买了{},共{}个,总计{}元,期待您的下次光临!'.format(naicha[buyNo],buyNumber,allCost))

costerNo += 1
costPerson.extend([now,naicha[buyNo],buyNumber,allCost])
costAllLog.append(costPerson)
print('今日已闭店,欢迎您明天光临!')
#结账后输出交易明细
print(costAllLog)



继续阅读 »

1523427665380.png


1523427703011.png


1523427728120.png

 
'''
奶茶店
第二次作业修改
'''


#欢迎语
welcomeWord = '小象奶茶店馆售卖宇宙无敌奶茶,奶茶虽好可不要贪杯哦!每次限尝鲜一种口味:'
naichaWord = '1.原味奶茶 3元 2.香蕉奶茶 5元 3.草莓奶茶 5元 4.香芋奶茶 7元 5.珍珠冰奶茶 7元'
sorryWord1 = 'Woops!我们只售卖以上'
sorryWord2 = '种奶茶口味哦!新口味敬请期待!'
naicha = {'1':'原味奶茶','2':'香蕉奶茶','3':'草莓奶茶','4':'香芋奶茶','5':'珍珠冰奶茶'}
naichaCost = {'1':3,'2':5,'3':5,'4':7,'5':7}

#设置会员
members =
membersLog =

#购物信息
costPerson =
costAllLog =

#设置固定客户数
costerNo = 20
fmemberNo = 37001
plusNo = 0

print(welcomeWord)
print(naichaWord)

while costerNo>0:
isnew=True
now = input('请输入会员号(没有会员号请输入 N):')
if now=='N' :
now = str(37001+plusNo)
plusNo+=1
print('您的会员号是:{}'.format(now))
members.append(now)
else:
if now not in members:
isExist=input('系统里没有此会员号,重新输入请输 Y ,系统分配请输 任意值: ')
if now=='Y' :
now=input('请输入重新输入会员号:')
else:
now = str (37001 + plusNo)
plusNo += 1
print('您的会员号是:{}'.format(now))
members.append(now)
else:
isnew = False
print('Welcome {}'.format(now))

# print(naicha.keys())
buyNo=input('请输入购买序号:')

if buyNo not in naicha:
print(sorryWord1+'{}'.format(len(naicha.keys()))+sorryWord2)
else:
buyNumber = int(input('请输入购买数量:'))
#print(type(buyNumber))
if isnew:
sale = 1
else:
sale = 0.9
print(type(naichaCost[buyNo]))
allCost=buyNumber*sale*naichaCost[buyNo]
print('您本次购买了{},共{}个,总计{}元,期待您的下次光临!'.format(naicha[buyNo],buyNumber,allCost))

costerNo += 1
costPerson.extend([now,naicha[buyNo],buyNumber,allCost])
costAllLog.append(costPerson)
print('今日已闭店,欢迎您明天光临!')
#结账后输出交易明细
print(costAllLog)



收起阅读 »

第三次课(元组,字典,函数(上),字符串)+作业

笔记里面有相关的文档链接,可以点击查看。作业暂时没写,定会补上。笔记链接:http://note.youdao.com/notesha ... 3B858

有疑问或不对的地方,可以直接指出,谢谢!!


函数.png


元组.png


字典.png


字符串.png

 
继续阅读 »
笔记里面有相关的文档链接,可以点击查看。作业暂时没写,定会补上。笔记链接:http://note.youdao.com/notesha ... 3B858

有疑问或不对的地方,可以直接指出,谢谢!!


函数.png


元组.png


字典.png


字符串.png

  收起阅读 »

第三课晓宁Python元组、字典、函数(上)笔记

#Python人工智能基础篇-第三课笔记
## 元组、字典、函数(上)
###1、元组

* 顺序存储相同/不同类型的元素
* 元组定义,使用()将元素括起来,元素之间用','隔开
* 特性:不可变。不支持添加、修改、删除元素操作
* 查询:通过下标查询元组制定位置的元素

####1.1 元组定义
db_info = ("192.168.10.1",3306,"root","root123")
####1.2 定义只有一个元素的元组
one_tuple = ("zhangsan",)
####1.3 循环遍历元组
for item in db_info:
print(item)
###2、字典

* 存储key-value键值对类型的数据
* 字典定义:{key:value1,key2:value2}
* 查询:可以使用key查找value
* 字典有添加、删除、修改操作
* 内置方法有get/keys/values/items/clear
* 通过循环遍历字典

####2.1 字典定义
user_info_dict = {"name":"悟空","age":100,"gender":"male","job":"取经"}

####2.2 字典添加
user_info_dict["tel"] = "13812345567"

####2.3 字典修改
user_info_dict["tel"] = "13932342322"

####2.4 清空字典
user_info_dict.clear()

###3、集合set

* 无序存储不同数据类型不重复元素的序列
* 集合定义:name_set={"zhangsan","lisi","wangwu"}
* 使用set(序列)对序列中元素去重name_set=set(["zhangsan","lisi","wangwu"])
* 创建空set: none_set=set()

####3.1 定义集合
student_set = {"zhansan","lisi","wangwu"}
####3.2 集合对列表去重
string_set = set("hello")
print(string_set) #输出结果为{'l', 'e', 'h', 'o'}
####3.3 创建一个空集合
none_set = set() #空集合

###4、集合set一些方法
* 使用In/not in判断一个元素在set序列中是否存在
* 使用add(元素)-添加一个元素到集合
* update(序列)-将一个序列的元素添加到集合中并去重
* remove(元素)-根据元素删除指定元素,元素不存在则报错
* discard(元素)-根据元素删除指定元素,元素不存在不会报错
* pop(元素)-随机删除集合中的某个元素,并返回被删除的元素
* clear() 清空集合
* 集合操作

* 交集 &
* 并集 |
* 差集 -
* 对称差集 ^
####4.1 添加元素到集合-add
student_set.add("wangwu1")
####4.2 移除元素-remove
student_set.remove("wangwu1")
####4.2 修改元素-update
student_set.update(["悟空","八戒"],["张飞","李逵"])
####4.3 pop()随机删除集合中的某个元素,并返回被删除的元素
name = student_set.pop()
####4.4 交集
num_set1 = {1,2,4,7}
num_set2 = {2,5,8,9}
inter_set1 = num_set1 & num_set2
inter_set2 = num_set1.intersection(num_set2)
print(inter_set1) //输出结果{2}
print(inter_set2) //输出结果{2}
####4.5 并集
num_set1 = {1,2,4,7}
num_set2 = {2,5,8,9}
union_set1 = num_set1 | num_set2
union_set2 = num_set1.union(num_set2)
print(union_set1) //输出结果{1,2,4,5,7,8,9}
print(union_set2) //输出结果{1,2,4,5,7,8,9}
####4.6 差集
num_set1 = {1,2,4,7}
num_set2 = {2,5,8,9}
diff_set1 = num_set1 - num_set2
diff_set2 = num_set1.difference(num_set2)
print(diff_set1) //输出结果{1,4,7}
print(diff_set2) //输出结果{1,4,7}

####4.7 对称差集
num_set1 = {1,2,4,7}
num_set2 = {2,5,8,9}
sym_diff_set1 = num_set1 ^ num_set2
sym_diff_set2 = num_set1.symmetric_difference(num_set2)
print(sym_diff_set1) //输出结果{1,4,5,7,8,9}
print(sym_diff_set2) //输出结果{1,4,5,7,8,9}
###5、函数

* 可以理解为实现某个功能封装
* 函数定义语法:


def 函数名称 (参数):
函数体代码
return 返回值

* 函数调用:函数名(参数)
* 函数参数

* 形参:定义函数时设置的参数
* 实参:调用函数时传入的参数

####5.1 函数实例
实例代码:
def check_letter_exist(pwd_str):
"""
判断字符串是否含有字母
"" "
has_letter = False
for c in pwd_str:
if c.isalpha():
has_letter= True
break
return has_letter
###6、字符串常用内置方法

* find(str[,start,end]) -在字符串中查找指定子字符串是否存在,如果存在则返回第一个子字符串的起始下标,如果不存在则返回-1
* count(str[,start,end])-在字符串中统计包含的子字符串的个数
* replace(old,new)使用新的字符串替换指定的子字符串,返回新的字符串
* split(sep[,maxsplit])
* uper():字符串所有字符大写
* lower():字符串所有字符小写

继续阅读 »
#Python人工智能基础篇-第三课笔记
## 元组、字典、函数(上)
###1、元组

* 顺序存储相同/不同类型的元素
* 元组定义,使用()将元素括起来,元素之间用','隔开
* 特性:不可变。不支持添加、修改、删除元素操作
* 查询:通过下标查询元组制定位置的元素

####1.1 元组定义
db_info = ("192.168.10.1",3306,"root","root123")
####1.2 定义只有一个元素的元组
one_tuple = ("zhangsan",)
####1.3 循环遍历元组
for item in db_info:
print(item)
###2、字典

* 存储key-value键值对类型的数据
* 字典定义:{key:value1,key2:value2}
* 查询:可以使用key查找value
* 字典有添加、删除、修改操作
* 内置方法有get/keys/values/items/clear
* 通过循环遍历字典

####2.1 字典定义
user_info_dict = {"name":"悟空","age":100,"gender":"male","job":"取经"}

####2.2 字典添加
user_info_dict["tel"] = "13812345567"

####2.3 字典修改
user_info_dict["tel"] = "13932342322"

####2.4 清空字典
user_info_dict.clear()

###3、集合set

* 无序存储不同数据类型不重复元素的序列
* 集合定义:name_set={"zhangsan","lisi","wangwu"}
* 使用set(序列)对序列中元素去重name_set=set(["zhangsan","lisi","wangwu"])
* 创建空set: none_set=set()

####3.1 定义集合
student_set = {"zhansan","lisi","wangwu"}
####3.2 集合对列表去重
string_set = set("hello")
print(string_set) #输出结果为{'l', 'e', 'h', 'o'}
####3.3 创建一个空集合
none_set = set() #空集合

###4、集合set一些方法
* 使用In/not in判断一个元素在set序列中是否存在
* 使用add(元素)-添加一个元素到集合
* update(序列)-将一个序列的元素添加到集合中并去重
* remove(元素)-根据元素删除指定元素,元素不存在则报错
* discard(元素)-根据元素删除指定元素,元素不存在不会报错
* pop(元素)-随机删除集合中的某个元素,并返回被删除的元素
* clear() 清空集合
* 集合操作

* 交集 &
* 并集 |
* 差集 -
* 对称差集 ^
####4.1 添加元素到集合-add
student_set.add("wangwu1")
####4.2 移除元素-remove
student_set.remove("wangwu1")
####4.2 修改元素-update
student_set.update(["悟空","八戒"],["张飞","李逵"])
####4.3 pop()随机删除集合中的某个元素,并返回被删除的元素
name = student_set.pop()
####4.4 交集
num_set1 = {1,2,4,7}
num_set2 = {2,5,8,9}
inter_set1 = num_set1 & num_set2
inter_set2 = num_set1.intersection(num_set2)
print(inter_set1) //输出结果{2}
print(inter_set2) //输出结果{2}
####4.5 并集
num_set1 = {1,2,4,7}
num_set2 = {2,5,8,9}
union_set1 = num_set1 | num_set2
union_set2 = num_set1.union(num_set2)
print(union_set1) //输出结果{1,2,4,5,7,8,9}
print(union_set2) //输出结果{1,2,4,5,7,8,9}
####4.6 差集
num_set1 = {1,2,4,7}
num_set2 = {2,5,8,9}
diff_set1 = num_set1 - num_set2
diff_set2 = num_set1.difference(num_set2)
print(diff_set1) //输出结果{1,4,7}
print(diff_set2) //输出结果{1,4,7}

####4.7 对称差集
num_set1 = {1,2,4,7}
num_set2 = {2,5,8,9}
sym_diff_set1 = num_set1 ^ num_set2
sym_diff_set2 = num_set1.symmetric_difference(num_set2)
print(sym_diff_set1) //输出结果{1,4,5,7,8,9}
print(sym_diff_set2) //输出结果{1,4,5,7,8,9}
###5、函数

* 可以理解为实现某个功能封装
* 函数定义语法:


def 函数名称 (参数):
函数体代码
return 返回值

* 函数调用:函数名(参数)
* 函数参数

* 形参:定义函数时设置的参数
* 实参:调用函数时传入的参数

####5.1 函数实例
实例代码:
def check_letter_exist(pwd_str):
"""
判断字符串是否含有字母
"" "
has_letter = False
for c in pwd_str:
if c.isalpha():
has_letter= True
break
return has_letter
###6、字符串常用内置方法

* find(str[,start,end]) -在字符串中查找指定子字符串是否存在,如果存在则返回第一个子字符串的起始下标,如果不存在则返回-1
* count(str[,start,end])-在字符串中统计包含的子字符串的个数
* replace(old,new)使用新的字符串替换指定的子字符串,返回新的字符串
* split(sep[,maxsplit])
* uper():字符串所有字符大写
* lower():字符串所有字符小写

收起阅读 »

第二课晓宁Python循环、字符串、列表笔记

#Python人工智能基础篇-第二课笔记

##循环、字符串、列表
###1、while循环


* 语法格式
while 判断条件:
条件满足,执行语句
* 执行流程

* 首先对while条件判断,条件为true时,执行循环体内语句块,
* 然后判断while条件,仍然true则继续执行语句块,直到条件为false循环结束,执行循环后的代码
###2、while循环嵌套
* 语法格式
while 判断条件:
条件满足,执行语句
while 嵌套判断条件:
条件满足,执行语句
* 执行流程
* 首先对while条件判断,条件为true时,执行循环体内语句块,
* 然后判断while条件,仍然true则继续执行语句块,直到条件为false循环结束,执行循环后的代码

###3、for循环
* 语法格式
for 临时变量 in 序列:
序列中存在待处理的元素则进入循环体执行代码
###4、break跳出循环

* 跳出break所在的整个循环,结束循环,继续执行循环外的语句
* while循环中使用break,整个循环结束
* while循环嵌套中使用break,只结束内层整个循环
* for循环使用break,整个循环结束
* for嵌套循环使用break,只结束内层整个循环
* 总结:break作用范围只作用于它所在的培训会,不影响其他外部循环

###5、continue跳出本次循环

* continue跳出本次循环,当次循环中continue后的语句将不会被执行,继续执行下一次循环
###6、字符串


* 字符串类型变量定义 如s="hello" 或者'hello'
* 组成字符串的方式

* 使用‘+’号将两个字符串连接成一个新的字符串
* 使用字符串格式化符号
* 下标从0开始,如hello,下标为0,1,2,3,4

* 可以通过下标获取指定位置的字符:string_name【index】
* 切片

* 切片语法:string_name[起始:结束:步长]


###7、列表


* 可以存储相同或者不同类型的数据集合
* 列表定义:name_list=["zhangsan","lisi"]
* 顺序存储,可通过下标获取内部元素 如 name_list[0] name_list[1]
* 内容可变,可通过下标修改元素值 如 name_list[0]=“xiaobai”
* 使用循环遍历列表

###8、列表常用方法

* append() /insert()添加元素
* “+”组合2个列表生成新的列表
* extend() 向调用它的列表中 添加另外一个列表的元素
* del()/pop()/remove() 删除远古三
* in/not in 判断元素在列表中是否存在
* sort() 列表内元素重排列
* reverse()列表内容倒置
* count() 统计列表内制定元素个数

继续阅读 »
#Python人工智能基础篇-第二课笔记

##循环、字符串、列表
###1、while循环


* 语法格式
while 判断条件:
条件满足,执行语句
* 执行流程

* 首先对while条件判断,条件为true时,执行循环体内语句块,
* 然后判断while条件,仍然true则继续执行语句块,直到条件为false循环结束,执行循环后的代码
###2、while循环嵌套
* 语法格式
while 判断条件:
条件满足,执行语句
while 嵌套判断条件:
条件满足,执行语句
* 执行流程
* 首先对while条件判断,条件为true时,执行循环体内语句块,
* 然后判断while条件,仍然true则继续执行语句块,直到条件为false循环结束,执行循环后的代码

###3、for循环
* 语法格式
for 临时变量 in 序列:
序列中存在待处理的元素则进入循环体执行代码
###4、break跳出循环

* 跳出break所在的整个循环,结束循环,继续执行循环外的语句
* while循环中使用break,整个循环结束
* while循环嵌套中使用break,只结束内层整个循环
* for循环使用break,整个循环结束
* for嵌套循环使用break,只结束内层整个循环
* 总结:break作用范围只作用于它所在的培训会,不影响其他外部循环

###5、continue跳出本次循环

* continue跳出本次循环,当次循环中continue后的语句将不会被执行,继续执行下一次循环
###6、字符串


* 字符串类型变量定义 如s="hello" 或者'hello'
* 组成字符串的方式

* 使用‘+’号将两个字符串连接成一个新的字符串
* 使用字符串格式化符号
* 下标从0开始,如hello,下标为0,1,2,3,4

* 可以通过下标获取指定位置的字符:string_name【index】
* 切片

* 切片语法:string_name[起始:结束:步长]


###7、列表


* 可以存储相同或者不同类型的数据集合
* 列表定义:name_list=["zhangsan","lisi"]
* 顺序存储,可通过下标获取内部元素 如 name_list[0] name_list[1]
* 内容可变,可通过下标修改元素值 如 name_list[0]=“xiaobai”
* 使用循环遍历列表

###8、列表常用方法

* append() /insert()添加元素
* “+”组合2个列表生成新的列表
* extend() 向调用它的列表中 添加另外一个列表的元素
* del()/pop()/remove() 删除远古三
* in/not in 判断元素在列表中是否存在
* sort() 列表内元素重排列
* reverse()列表内容倒置
* count() 统计列表内制定元素个数

收起阅读 »

lesson2笔记

1.程序三大执行流程
顺序执行;选择执行;循环执行;
2.while循环
语法格式
   while 判断条件:
       条件满足,执行语句
执行流程:先对while条件判断,当条件为true时,执行循环体内语句块,之后再判断while条件,仍为true则继续执行语句块,
直到条件为false循环结束,执行循环后的代码
应用场景:对于满足某种条件,重复调用实现相同功能的代码
# num = 1
# while num <= 10:
#     print(num)
#     num += 1
3.while循环嵌套
语法格式
while 判断条件:
    条件满足,执行语句
      while 嵌套判断条件:
           条件满足,执行语句
例子:打印沙漏图
#合并倒三角形和正三角形
    
m = 7 #控制总行数
i = 0 #控制外层循环次数
h = 0 #空格的个数
middle = m//2 # 中间位置
while i < m:
    if i <= middle:
       h = i
    else:
       h -= 1
    n = m - h*2
#打印每一行开头空格和星号
    print(" " * h, end="")  # 打印开头空格
    j = 0
    while j < n:
        print("*", end="")
        j += 1
    print("")
    i += 1
3.for循环
语法格式
 for临时变量in序列:
    序列中存在待处理元素则进入循环体执行代码
执行流程:每次循环判断for中的条件,从序列的零脚标开始,将序列中的元素赋值给临时变量,进入循环
体执行代码,执行完继续判断for中序列是否存在下一个元素,如果存在则继续进入循环体,直到序列中最后一个位置
的元素被处理完,循环结束
#打印0到9十个数字
#range(0,10)=[0,1,2,3,4,5,6,7,8,9)
# for i in range(0,10):
#      print(i)
#打印0到9的偶数
#range(0,10)可以简写成range(10),默认步长为1,即range(0,10,1)
#range(0,10,2)=[0,2,4,6,8)
# for i in range(0,10,2):
#     print(i)
break跳出循环
跳出break所在的整个循环,结束循环,继续执行循环外的语句。
while循环中使用break
while条件:
     break #整个循环结束
while循环嵌套中使用break
while 条件:
     代码
     while 条件:
           break # 只结束内层整个循环
     代码
i = 1
while i <= 20:
    if i % 2 == 0:
        if i % 10 == 0:
            break
        print(i)
    i += 1
print(">>>>>>>>>")

for循环中使用break
for 变量 in 序列:
     break #整个循环结束
for嵌套循环中使用break
for 变量 in 序列:
     代码
     for 变量 in 序列:
              break #只结束内层整个循环
     代码
注:break的作用范围只作用于它所在的循环,不影响其他外部循环
for i in range(1,5):
    for j in range(0,i):
        if j == 3:
            break
        print("*",end="")
    print("")
    print(i)
continue跳出本次循环
continue跳出本次循环,当次循环中continue后的语句将不会被执行,继续执行下一次循环
while循环中使用continue
while 条件
     if 条件:
             continue #本次循环结束,后边的代码语句不执行
     代码语句
for循环中使用continue
for 变量 in 序列:
    if 条件:
            continue #本次循环结束,后边的代码语句不执行
     代码语句
#continue
i = 1
# while i <= 20:
#     i += 1
#     if i % 2 == 0:
#         if i % 10 == 0:
#             continue
#         print(i)
# print(">>>>>>>>>")
4.字符串
字符串类型变量定义
s = "hello"或'hello'
组成字符串的方式
  1)使用"+"号将两个字符串连接成一个新的字符串
  2)使用字符串格式化符号
下标
通过下标获取指定位置的字符:string_name[index]
切片
切片的语法:string_name[起始:结束:步长]
#字符串 脚标
#s = "hello"
# print(len(s))
# print(s[1])

s = "hello"
# for i in range(0,len(s)):
#     print(s[i])
#print(s[7])
# print(s[4])
# print(s[-1])
# print(s[-2])
#切片
# line = "liuning,29"
# name = line[0:7]
# print(name)
# #age = line[8:]#line[8:]冒号后面不写表示取到最后,即line[8:]和line[8:10]等价
# age = line[8:10]
# print(age)
s = "abcde"
#print(s[0:5:2])
print(s[0::2])#s[0:5:2]和s[0::2]等价
5.列表
可以存储相同或者不同类型数据的集合
列表定义
name_list = ["zhangsan","lisi","wangwu"]
顺序存储,可通过下标获取内部元素
name_list[0]
name_list[1]
内容可变,可通过下标修改元素值
name_list[0] = "xiaobai"
使用循环遍历列表
嵌套列表
# name_list = ["zhangsan","lisi","wangwu"]
# print(name_list[0])
# print(name_list[1])
# name_list[0] = "xiaobai"
# print(name_list[0])

#顺序执行
# info_list = ["zhangsan",20,180.5]
# print(info_list[2])
#while遍历
# info_list = ["zhangsan",20,180.5]
# i = 0
# while i < len(info_list):
#     print(info_list[i])
#     i += 1
#for遍历
# info_list = ["zhangsan",20,180.5]
# for i in range(0,len(info_list)):
#     print(info_list[i])

#简便方法
# info_list = ["zhangsan",20,180.5]
# for item in info_list:
#     print(item)

#嵌套列表
# info_list = ["zhangsan",20,180.5]
# infos_list = [["zhangsan",20,180.5],["lisi",21,170],["wangwu",25,190]]
# print(infos_list[0][0])
# print(infos_list[1][0])
info_list = ["zhangsan",20,180.5]
infos_list = [["zhangsan",20,180.5],["lisi",21,170],["wangwu",25,190]]
for lst in infos_list:
    print(lst)
    for item in lst:
        print(item)
#方法
append()/insert添加元素
“+”组成两个列表生成新的列表
extend()向调用它的列表中添加另外一个列表的元素
del()/pop()remove()删除元素
切片
in/not in 判断元素在列表中是否存在
sort()列表内元素重排序
reverse()列表内容倒置
count()统计列表内指定元素个数
#append列表末尾添加元素
infos_list = [["zhangsan",20,180.5],["lisi",21,170],["wangwu",25,190]]
infos_list.append(["xiaobai",30,175])
print(infos_list)
#insert向列表指定位置添加元素
# new_info = ["孙悟空",18,160]
# new_info.insert(1,50)
# print(new_info)

# + 拼接两个列表
name_list1 = ["zhangsan"]
name_list2 = ["lisi","wangwu"]
name_list3 = name_list1 + name_list2
print(name_list3)

#extend向一个列表中添加另外一个列表的元素
# name_list1 = ["zhangsan"]
# name_list2 = ["lisi","wangwu"]
# name_list1.extend(name_list2)
# print(name_list1)
#extend和append的区别
name_list1 = ["zhangsan"]
name_list2 = ["lisi","wangwu"]
name_list1.append(name_list2)
print(name_list1)


#删除列表元素
#group = ["唐憎","悟空","八戒"]
#del group[1]
#group.remove("悟空")
# group.pop()#从最后删除
# print(group)
# group = ["唐憎","悟空","八戒"]
# if "唐憎" in group:
#     print("师傅还在")
# else:
#     print("师傅没了")
# sort()排序,默认升序
# num_list = [5,2,6,1]
# num_list.sort()#升序
# print(num_list)

# num_list = [5,2,6,1]
# num_list.sort(reverse=True)
# print(num_list)

#reverse()将列表内容 倒置
# group = ["唐憎","悟空","八戒"]
# group.reverse()
# print(group)

#count(元素)
# group = ["唐憎","悟空","八戒","唐憎"]
# print(group.count("唐憎"))

    
继续阅读 »
1.程序三大执行流程
顺序执行;选择执行;循环执行;
2.while循环
语法格式
   while 判断条件:
       条件满足,执行语句
执行流程:先对while条件判断,当条件为true时,执行循环体内语句块,之后再判断while条件,仍为true则继续执行语句块,
直到条件为false循环结束,执行循环后的代码
应用场景:对于满足某种条件,重复调用实现相同功能的代码
# num = 1
# while num <= 10:
#     print(num)
#     num += 1
3.while循环嵌套
语法格式
while 判断条件:
    条件满足,执行语句
      while 嵌套判断条件:
           条件满足,执行语句
例子:打印沙漏图
#合并倒三角形和正三角形
    
m = 7 #控制总行数
i = 0 #控制外层循环次数
h = 0 #空格的个数
middle = m//2 # 中间位置
while i < m:
    if i <= middle:
       h = i
    else:
       h -= 1
    n = m - h*2
#打印每一行开头空格和星号
    print(" " * h, end="")  # 打印开头空格
    j = 0
    while j < n:
        print("*", end="")
        j += 1
    print("")
    i += 1
3.for循环
语法格式
 for临时变量in序列:
    序列中存在待处理元素则进入循环体执行代码
执行流程:每次循环判断for中的条件,从序列的零脚标开始,将序列中的元素赋值给临时变量,进入循环
体执行代码,执行完继续判断for中序列是否存在下一个元素,如果存在则继续进入循环体,直到序列中最后一个位置
的元素被处理完,循环结束
#打印0到9十个数字
#range(0,10)=[0,1,2,3,4,5,6,7,8,9)
# for i in range(0,10):
#      print(i)
#打印0到9的偶数
#range(0,10)可以简写成range(10),默认步长为1,即range(0,10,1)
#range(0,10,2)=[0,2,4,6,8)
# for i in range(0,10,2):
#     print(i)
break跳出循环
跳出break所在的整个循环,结束循环,继续执行循环外的语句。
while循环中使用break
while条件:
     break #整个循环结束
while循环嵌套中使用break
while 条件:
     代码
     while 条件:
           break # 只结束内层整个循环
     代码
i = 1
while i <= 20:
    if i % 2 == 0:
        if i % 10 == 0:
            break
        print(i)
    i += 1
print(">>>>>>>>>")

for循环中使用break
for 变量 in 序列:
     break #整个循环结束
for嵌套循环中使用break
for 变量 in 序列:
     代码
     for 变量 in 序列:
              break #只结束内层整个循环
     代码
注:break的作用范围只作用于它所在的循环,不影响其他外部循环
for i in range(1,5):
    for j in range(0,i):
        if j == 3:
            break
        print("*",end="")
    print("")
    print(i)
continue跳出本次循环
continue跳出本次循环,当次循环中continue后的语句将不会被执行,继续执行下一次循环
while循环中使用continue
while 条件
     if 条件:
             continue #本次循环结束,后边的代码语句不执行
     代码语句
for循环中使用continue
for 变量 in 序列:
    if 条件:
            continue #本次循环结束,后边的代码语句不执行
     代码语句
#continue
i = 1
# while i <= 20:
#     i += 1
#     if i % 2 == 0:
#         if i % 10 == 0:
#             continue
#         print(i)
# print(">>>>>>>>>")
4.字符串
字符串类型变量定义
s = "hello"或'hello'
组成字符串的方式
  1)使用"+"号将两个字符串连接成一个新的字符串
  2)使用字符串格式化符号
下标
通过下标获取指定位置的字符:string_name[index]
切片
切片的语法:string_name[起始:结束:步长]
#字符串 脚标
#s = "hello"
# print(len(s))
# print(s[1])

s = "hello"
# for i in range(0,len(s)):
#     print(s[i])
#print(s[7])
# print(s[4])
# print(s[-1])
# print(s[-2])
#切片
# line = "liuning,29"
# name = line[0:7]
# print(name)
# #age = line[8:]#line[8:]冒号后面不写表示取到最后,即line[8:]和line[8:10]等价
# age = line[8:10]
# print(age)
s = "abcde"
#print(s[0:5:2])
print(s[0::2])#s[0:5:2]和s[0::2]等价
5.列表
可以存储相同或者不同类型数据的集合
列表定义
name_list = ["zhangsan","lisi","wangwu"]
顺序存储,可通过下标获取内部元素
name_list[0]
name_list[1]
内容可变,可通过下标修改元素值
name_list[0] = "xiaobai"
使用循环遍历列表
嵌套列表
# name_list = ["zhangsan","lisi","wangwu"]
# print(name_list[0])
# print(name_list[1])
# name_list[0] = "xiaobai"
# print(name_list[0])

#顺序执行
# info_list = ["zhangsan",20,180.5]
# print(info_list[2])
#while遍历
# info_list = ["zhangsan",20,180.5]
# i = 0
# while i < len(info_list):
#     print(info_list[i])
#     i += 1
#for遍历
# info_list = ["zhangsan",20,180.5]
# for i in range(0,len(info_list)):
#     print(info_list[i])

#简便方法
# info_list = ["zhangsan",20,180.5]
# for item in info_list:
#     print(item)

#嵌套列表
# info_list = ["zhangsan",20,180.5]
# infos_list = [["zhangsan",20,180.5],["lisi",21,170],["wangwu",25,190]]
# print(infos_list[0][0])
# print(infos_list[1][0])
info_list = ["zhangsan",20,180.5]
infos_list = [["zhangsan",20,180.5],["lisi",21,170],["wangwu",25,190]]
for lst in infos_list:
    print(lst)
    for item in lst:
        print(item)
#方法
append()/insert添加元素
“+”组成两个列表生成新的列表
extend()向调用它的列表中添加另外一个列表的元素
del()/pop()remove()删除元素
切片
in/not in 判断元素在列表中是否存在
sort()列表内元素重排序
reverse()列表内容倒置
count()统计列表内指定元素个数
#append列表末尾添加元素
infos_list = [["zhangsan",20,180.5],["lisi",21,170],["wangwu",25,190]]
infos_list.append(["xiaobai",30,175])
print(infos_list)
#insert向列表指定位置添加元素
# new_info = ["孙悟空",18,160]
# new_info.insert(1,50)
# print(new_info)

# + 拼接两个列表
name_list1 = ["zhangsan"]
name_list2 = ["lisi","wangwu"]
name_list3 = name_list1 + name_list2
print(name_list3)

#extend向一个列表中添加另外一个列表的元素
# name_list1 = ["zhangsan"]
# name_list2 = ["lisi","wangwu"]
# name_list1.extend(name_list2)
# print(name_list1)
#extend和append的区别
name_list1 = ["zhangsan"]
name_list2 = ["lisi","wangwu"]
name_list1.append(name_list2)
print(name_list1)


#删除列表元素
#group = ["唐憎","悟空","八戒"]
#del group[1]
#group.remove("悟空")
# group.pop()#从最后删除
# print(group)
# group = ["唐憎","悟空","八戒"]
# if "唐憎" in group:
#     print("师傅还在")
# else:
#     print("师傅没了")
# sort()排序,默认升序
# num_list = [5,2,6,1]
# num_list.sort()#升序
# print(num_list)

# num_list = [5,2,6,1]
# num_list.sort(reverse=True)
# print(num_list)

#reverse()将列表内容 倒置
# group = ["唐憎","悟空","八戒"]
# group.reverse()
# print(group)

#count(元素)
# group = ["唐憎","悟空","八戒","唐憎"]
# print(group.count("唐憎"))

    
收起阅读 »

第二课:while循环,打印沙漏图案

第二节课以打印沙漏图案来介绍如何使用while循环。课下自己写了一段代码实现打印沙漏图案。这次练习涉及到以下几个知识点
- while 循环的用法
- 使用“ * ”来表示重复多少次
- 运算符// 和 %
- input用法

**打印沙漏图案
规则: 第一行和最后一行*的个数与层数相同,从上到下,下一行比上一行少 两个*,并且在行开头比上一行多1个空格 当打印到中间某一行的*个数为1时,向下的逐行比上一行多两个*,同 时在行开头比上一行少1个空格**

**代码**
```
maxStar = int(input("Please input the max stars number:"))

totalLine = maxStar
if maxStar%2 == 0: #要是第一个行是偶数个*,将会怎样?
totalLine += 1


i = 0
middleIndex = 0

while i < totalLine: #小于符号在小象笔记markdown编辑显示上有问题
if(i <= maxStar//2):
print(" "*i, "*"*(maxStar - 2*i))
middleIndex = i
else:
middleIndex -= 1
print(" "*(middleIndex), "*"*(maxStar - 2*middleIndex))

i += 1
```

在python2.x上的沙漏代码:
```
import sys
strs=[]
i = raw_input("please input a number: ")
i = int (i)
num = i
while (i > 0):
if (num - (num - i)*2) > 0:
_temStr = " " * (num-i) + "*" * (num - (num - i)*2)
print _temStr
strs.append(_temStr)
i -= 1
else:
break
del strs[-1] #删除最后一行*避免倒序重复打印中间一行
for x in reversed(strs):
print x

```
这两段代码在处理偶数个输入的时候,输出结果是不一样的。
继续阅读 »
第二节课以打印沙漏图案来介绍如何使用while循环。课下自己写了一段代码实现打印沙漏图案。这次练习涉及到以下几个知识点
- while 循环的用法
- 使用“ * ”来表示重复多少次
- 运算符// 和 %
- input用法

**打印沙漏图案
规则: 第一行和最后一行*的个数与层数相同,从上到下,下一行比上一行少 两个*,并且在行开头比上一行多1个空格 当打印到中间某一行的*个数为1时,向下的逐行比上一行多两个*,同 时在行开头比上一行少1个空格**

**代码**
```
maxStar = int(input("Please input the max stars number:"))

totalLine = maxStar
if maxStar%2 == 0: #要是第一个行是偶数个*,将会怎样?
totalLine += 1


i = 0
middleIndex = 0

while i < totalLine: #小于符号在小象笔记markdown编辑显示上有问题
if(i <= maxStar//2):
print(" "*i, "*"*(maxStar - 2*i))
middleIndex = i
else:
middleIndex -= 1
print(" "*(middleIndex), "*"*(maxStar - 2*middleIndex))

i += 1
```

在python2.x上的沙漏代码:
```
import sys
strs=[]
i = raw_input("please input a number: ")
i = int (i)
num = i
while (i > 0):
if (num - (num - i)*2) > 0:
_temStr = " " * (num-i) + "*" * (num - (num - i)*2)
print _temStr
strs.append(_temStr)
i -= 1
else:
break
del strs[-1] #删除最后一行*避免倒序重复打印中间一行
for x in reversed(strs):
print x

```
这两段代码在处理偶数个输入的时候,输出结果是不一样的。 收起阅读 »

第二次课(列表,循环,字符串)+作业

被某某云笔记种草,而且只是脑图,很难体现code以及对code的说明,所以决定用某某云笔记做笔记,脑图只会写一个大致的大纲,以下是某某云笔记链接,脑图也附在下方,如有问题给予纠正,谢谢!
http://note.youdao.com/notesha ... 3138B

列表.png


循环语句.png


字符串.png

 
继续阅读 »
被某某云笔记种草,而且只是脑图,很难体现code以及对code的说明,所以决定用某某云笔记做笔记,脑图只会写一个大致的大纲,以下是某某云笔记链接,脑图也附在下方,如有问题给予纠正,谢谢!
http://note.youdao.com/notesha ... 3138B

列表.png


循环语句.png


字符串.png

  收起阅读 »

第一课笔记

一、注释
''''''多行注释
# 单行注释
ctl+/ 快速注释
二、
变量赋值 = 
debug方法
变量类型检测 print(type())函数
三、
input()函数 用于在程序执行过程中接受用户输入的内容,默认字符串类型
print()函数 输出内容
四、
print() 格式化输出 %s 传入字符串的变量:
print("您输入的卡号是:%s"%card_id)

多个变量同时输入:
print("您输入的卡号是:%s,你输入的密码是:%d"%(card_id,pwd))

格式化输出浮点数,并指定精度:
print("您的身高是:%.2f"%height)

格式化输出,要打印%时,得使用%%表示字符串而不是转换说明符

无换行输出:
print("hello",end="")
print("python")

输出换行符:
print("中国\n北京")

转义符: \n
print("中国\\n北京")

format函数
print("您输入的卡号是:{},您输入的密码是:{}".format(card_id,pwd))

format函数 指定保留小数
print("您的身高是:{.2f}".format(height))

五、类型转换
int() 转换成整数
str() 转换成字符串
float() 转换成浮点数
eval() 自动转换字符串成数字,返回一个对象
六、
标识符
命名规则
关键字
七、if条件判断
if条件:
  逻辑代码
else:
  其他逻辑代码
多条件判断
if嵌套语法
继续阅读 »
一、注释
''''''多行注释
# 单行注释
ctl+/ 快速注释
二、
变量赋值 = 
debug方法
变量类型检测 print(type())函数
三、
input()函数 用于在程序执行过程中接受用户输入的内容,默认字符串类型
print()函数 输出内容
四、
print() 格式化输出 %s 传入字符串的变量:
print("您输入的卡号是:%s"%card_id)

多个变量同时输入:
print("您输入的卡号是:%s,你输入的密码是:%d"%(card_id,pwd))

格式化输出浮点数,并指定精度:
print("您的身高是:%.2f"%height)

格式化输出,要打印%时,得使用%%表示字符串而不是转换说明符

无换行输出:
print("hello",end="")
print("python")

输出换行符:
print("中国\n北京")

转义符: \n
print("中国\\n北京")

format函数
print("您输入的卡号是:{},您输入的密码是:{}".format(card_id,pwd))

format函数 指定保留小数
print("您的身高是:{.2f}".format(height))

五、类型转换
int() 转换成整数
str() 转换成字符串
float() 转换成浮点数
eval() 自动转换字符串成数字,返回一个对象
六、
标识符
命名规则
关键字
七、if条件判断
if条件:
  逻辑代码
else:
  其他逻辑代码
多条件判断
if嵌套语法 收起阅读 »