python的for语句条件_Python 条件 循环 及其他语句

1. 再次认识 input import

print('European Union', 2018) #print()多字符串输出

print("*****输出多种方式******\n")

str1= "unified"str2= 'China'str3= 'American'

print(str2,str3,str1) #print()多字符串输出,但结果有空格,可用+加号改善

print(str2+str3+str1) #print()多字符串输出,但结果有空格,可用+加号改善

print(str2,str3,str1,sep = "_") #print()多字符串输出,可以自定义sep = "指定字符"

效果如下:

European Union 2018

*****完美分割线1******China American unified

ChinaAmericanunified

China_American_unified

print("*****导入时重命名模块,常规来说命名调用不宜太长*****\n")importmathfrom math import sqrt as foobar #从math 中导入 sqrt ,并指定sqrt别名 foobar

print(foobar(4))import math as foobar #从math 中导入 sqrt ,并指定sqrt别名 foobar

print(foobar.sqrt(4))

效果如下:

*****导入时重命名模块,常规来说命名调用不宜太长*****

2.0

2.0

2. 赋值魔法 序列解包 链式赋值 增强赋值

a, b, c, d, e, f = 'Japan', 'Russia', 'China', 'European Union', 'American', 'European'

print(a, b, c, d, e, f, sep="*")

a=bprint(a, b, c, d, e, f, sep="*")

values= '2018', '2018', '2018', '2018', '2018', '2018'

print(type(values))

a, b, c, d, e, f=valuesprint(a, b, c, d, e, f, sep="*")print(type(a))print("*****通过赋值语句,接受返回的元组解包,但两侧的元素个数与变量数量 需一致 或者用带星号 *收集*****\n")

dict1= {'European Union': '2018', 'American': '2018', 'Japan': '2018', 'China': '2018', 'Russia': '2018'}

it2= dict1.popitem() #随机删除,并返回删除的值

print(it2)

h,j= it2 #通过赋值语句,接受返回的元组解包,但两侧的元素个数与变量数量 需一致 或者用带星号 *收集

print(h)print(j)print("*****以元组为例:用带星号 *收集,最终带星号的变量 返回的是列表*****\n")

k,l,*m = 1,2,3,4 #通过赋值语句,接受返回的元组解包,但两侧的元素个数与变量数量 需一致 或者用带星号 *收集

print(m)print(k,l,m)

k,l,*m = (1,2,3,4)print(m)

k,*l,m = (1,2,3,4)print(m)print(type(m))print(type(l))print(k,l,m)print("*****以字符串为例,用带星号 *收集,最终带星号的变量 返回的是列表*****\n")

k,l,*m = "American" #通过赋值语句,接受返回的元组解包,但两侧的元素个数与变量数量 需一致 或者用带星号 *收集

print(m)print(k,l,m)

k,*l,m = "American"

print(m)print(l)print(type(m))print(type(l))print(k,l,m)print("****链式赋值,使多个变量关联到同一个值(这个值是返回值或函数本身,类似于并行赋值*****\n")

dict6= {'European Union': '2018', 'American': '2018', 'Japan': '2018', 'China': '2018', 'Russia': '2018'}

n=o= dict6.popitem() #通过赋值语句,接受返回的元组解包,但两侧的元素个数与变量数量 需一致 或者用带星号 *收集

print(n,o)print(n ==o)print(id(n),id(o))

n=dict6.popitem() #上一行,与这两行分开赋值,不同

o=dict6.popitem()print(n,o)print(n ==o)print(id(n),id(o))print("***增强赋值,+= -= *= /= *****\n")

效果如下:

Japan*Russia*China*European Union*American*European

Russia*Russia*China*European Union*American*European

2018*2018*2018*2018*2018*2018

*****通过赋值语句,接受返回的元组解包,但两侧的元素个数与变量数量 需一致 或者用带星号 *收集*****('American', '2018')

American2018

*****以元组为例:用带星号 *收集,最终带星号的变量 返回的是列表*****[3, 4]1 2 [3, 4]

[3, 4]4

1 [2, 3] 4

*****以字符串为例,用带星号 *收集,最终带星号的变量 返回的是列表*****['e', 'r', 'i', 'c', 'a', 'n']

A m ['e', 'r', 'i', 'c', 'a', 'n']

n

['m', 'e', 'r', 'i', 'c', 'a']

A ['m', 'e', 'r', 'i', 'c', 'a'] n****链式赋值,使多个变量关联到同一个值(这个值是返回值或函数本身,类似于并行赋值*****('American', '2018') ('American', '2018')

True2384612006920 2384612006920('China', '2018') ('European Union', '2018')

False2384612006792 2384612005448

3.条件语句

x == y

x < y

x> y

x <= y

x != y

x is y

x is not y

x in y

x not in y

4.循环语句

while 循环

for 循环

print("***打印 1-99 *****\n")

num1= 1

while num1 < 100:print(num1)

num1+= 1

print("***打印 1-99 ,不打印88*****\n")

num1= 1

while num1 < 100:if num1 == 88:

num1+= 1

print(num1)

num1+= 1

print("***列表中的值 for循环,迭代列表*****\n")

lst1= ['Japan', 'Russia', 'China', 'European Union', 'American', 'European']for str1 in lst1: #for 遍历,基本上可迭代对象,

print(str1)print("***列表中的值 while循环,迭代列表*****\n")

lst1= ['Japan', 'Russia', 'China', 'European Union', 'American', 'European']

count1=0while count1 < len(lst1): #while 采用索引

print(lst1[count1])

count1+= 1

print("***列表中的值 Python 内置range 函数,类似于切片,迭代列表*****\n")print(list(range(100)))for num2 in range(0, 100):print(num2)print("***字典里面的值 for 循环,获取键或值,迭代字典*****\n")

dict7= {'European Union': 2018, 'American': 2018, 'Japan': 2018, 'China': 2018, 'Russia': 2018}for key1 indict7:print(key1)print(type(key1))print("----------------------")for key1 indict7:print(dict7[key1])print(type(dict7[key1]))print("----------------------")for key1,values1 indict7.items():print(key1,values1)print(type(key1),type(values1),)print("***其他迭代内置函数,如 并行迭代 / 获取索引/ 反向迭代/排序后迭代*****\n")#有时候 你想并行迭代两个序列,如下:

lst11= ['Japan', 'Russia', 'China', 'European Union', 'American', 'European']

lst12=[ '2018', '2018', '2018', '2018', '2018', '2018']

lst13= list(zip(lst11,lst12)) #zip 是很有用的并行迭代工具,可缝合两个序列,如果两个序列长短不一,将缝合完最短的,结束.

dict8 = dict(lst13) #转换为 字典

print(lst13)print(dict8)for i in range(len(lst11)): #i 是 用作循环索引的标准变量的名称

print(lst1[i],lst12[i]) #打印对应字典键和值#有时候 你想获取索引和迭代一起

lst14 = ['E', 'u', 'r', 'o', 'p', 'e', 'a', 'n']for i inlst14 :if "n" ini:

seat1=lst14.index(i)

lst14[seat1]= "A"

print(lst14)print("-----------------")

lst14= ['E', 'u', 'r', 'o', 'p', 'e', 'a', 'n']

seat2=0for i inlst14 :if "n" ini:

lst14[seat2]= "A"seat2+=1

print(lst14)print("-----------------")

lst15= ['E', 'u', 'r', 'o', 'p', 'e', 'a', 'n']for index1 , string1 inenumerate(lst15) :if "n" instring1 :

lst15[index1]= "A"

效果 如下:

***打印 1-99 *****

1-99

***打印 1-99 ,不打印88*****

1-99

***列表中的值 for循环,迭代列表*****Japan

Russia

China

European Union

American

European***列表中的值 while循环,迭代列表*****Japan

Russia

China

European Union

American

European***列表中的值 Python 内置range 函数,类似于切片,迭代列表*****[0,1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]

0-99

***字典里面的值 for 循环,获取键或值,迭代字典*****ChinaAmericanRussiaJapanEuropean Union

----------------------

2018

2018

2018

2018

2018

----------------------China2018

American2018

Russia2018

Japan2018

European Union2018

***其他迭代内置函数,如 并行迭代 / 获取索引/ 反向迭代/排序后迭代*****[('Japan', '2018'), ('Russia', '2018'), ('China', '2018'), ('European Union', '2018'), ('American', '2018'), ('European', '2018')]

{'China': '2018', 'American': '2018', 'Japan': '2018', 'European': '2018', 'Russia': '2018', 'European Union': '2018'}

Japan2018Russia2018China2018European Union2018American2018European2018['E', 'u', 'r', 'o', 'p', 'e', 'a', 'A']-----------------['E', 'u', 'r', 'o', 'p', 'e', 'a', 'A']-----------------

反向迭代 和 排序后再迭代

sorte reversed

lst16 = ['E', 'u', 'r', 'o', 'p', 'e', 'a', 'n']print(sorted(lst16)) #返回排序后的列表

print(lst16) #sorted 不改原表

lst17 =reversed(lst16)print(lst17) #reversed是个更神秘的结果

print(list(lst17)) #reversed是个更神秘的结果,需要用list转换

print(str(lst17))

效果如下:

['E', 'a', 'e', 'n', 'o', 'p', 'r', 'u']

['E', 'u', 'r', 'o', 'p', 'e', 'a', 'n']['n', 'a', 'e', 'p', 'o', 'r', 'u', 'E']

4. 语句与 跳出循环 break continue else

5. 列表推导 ,通过一个从其他列表创建列表的方法

print([x *x for x in range(10)])print([x *x for x in range(10) if x % 3 ==0 ])print([(x,y) for x in range(4) for y in range(3)])print("---------")

lst18=[]for x in range(4):for y in range(3):

lst18.append((x,y))#append((x,y)) 就地追加,无返回值

print(lst18)

dict1= {i:"{} squared is {}".format(i , i**2) for i in range(10)}#字典推导,for 前面分别有两个冒号表达式,分别表示健和值

print(dict1)print(dict1[8])

效果如下:

[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

[0,9, 36, 81]

[(0, 0), (0,1), (0, 2), (1, 0), (1, 1), (1, 2), (2, 0), (2, 1), (2, 2), (3, 0), (3, 1), (3, 2)]---------[(0, 0), (0,1), (0, 2), (1, 0), (1, 1), (1, 2), (2, 0), (2, 1), (2, 2), (3, 0), (3, 1), (3, 2)]

{0:'0 squared is 0', 1: '1 squared is 1', 2: '2 squared is 4', 3: '3 squared is 9', 4: '4 squared is 16', 5: '5 squared is 25', 6: '6 squared is 36', 7: '7 squared is 49', 8: '8 squared is 64', 9: '9 squared is 81'}8 squared is 64

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值