10、list列表写法以及输出
s=['弘福寺','卧龙寺','青龙寺','大兴善寺']
print(s)
列表里的数据又可以叫做元素,每个元素都有自己的位置,这个位置叫做索引。
print(s[0]) #打印列表s里面的第0个元素
print(s[3]) #打印列表s里面的第3个元素
print(s[-1]) #打印列表s里面的最后一个元素
print(s[-2]) #打印列表s里面的倒数第二个元素
s[0]指向列表里的第0个元素,使用print() 函数就可以把这个数据显示在屏幕上,让我们看到。
s[-1]代表的是列表中的最后一个元素,s[-2]代表列表中的倒数第二个元素。
从列表中取出某一段数据,即列表的子列表。
s=['弘福寺','大兴善寺','青龙寺','卧龙寺']
print(s[0:4])
print(s[1:3])
print(s[1:])
print(s[:2])
第3行代码:打印列表s里面的第0、1、2、3这几个元素。第4行代码:打印了列表s里面的第1、2这几个元素。
第6行代码:打印列表s里面的第1个和此之后的所有元素。第7行代码:打印列表s里面的第2个元素之前的所有元素。
从【:】左边的数字所代表的元素开始取,取到【:】右边的数字所代表元素的前一个元素为止。
这样取出来的数据还是列表。
补入一个数据,用append() 函数。
s=['弘福寺','大兴善寺','青龙寺','卧龙寺']
s.append('观音禅寺')
print(s)
列表的基本操作:生成列表,取出数据,追加数据。已经学完。
11、字典(dict)
d是这里的字典名,可以根据你的需要命名。
一一对应的两个数据分别叫【键】和【值】。键和值之间使用的是冒号,把一个键和值同下一个键和值分隔的是英文逗号。
字典不像列表,里面的数据没有位置(索引),但是我们只要知道了【键】,就可以把对应的【值】给取出来。
比如,你的上司问你,诶,青龙寺的面积是多少平米呢?你就可以这样操作:
d={'弘福寺':1000,'大兴善寺':900,'青龙寺':700,'卧龙寺':500}
print(d['青龙寺'])
b = {1:'布达佩斯',2:'伦敦',3:'巴黎'}
print(type(b))
print(len(b))
注意字典的长度是3,是键的个数,而不是键和值的总数6。
12、
d={1:['甲','乙','丙'],2:['A','B','C']}
#像这样,就是一个二级嵌套。在字典里,嵌套了列表。
a=d[1]
#提取出键1对应的列表['甲','乙','丙'],赋值给a。
b=a[0]
#提取出列表a的第0个元素,'甲',赋值给b。
print(b)
#打印b,获得'甲'。
print(d[1][0])
#直接从字典d中提取'甲'。
事实上,列表和字典可以多级嵌套使用。比如一个列表里嵌套一个字典,字典里再嵌套列表,列表里再嵌套字典……子子孙孙无穷匮也。当我们在提取这种多级嵌套的列表/字典时,要一层一层地取出来。举个例子↑↑↑
从下面的列表中,提取出来字符串'乙'。
list1 = [{1:'甲'},{2:'乙'},{3:'丙'}]
print(list1[1][2])
列表(list)里面只有值(value),而字典(dict)里面有的是一一对应的键(key)和值(value)。
13、for循环
a = [1,2,3]
for i in a:
print(i)
也可以列表取值
s=['弘福寺','大兴善寺','青龙寺','卧龙寺','观音禅寺']
for i in s:
print('恭喜'+i+'入选译经道场')
字典取值
d={'弘福寺':1000,'大兴善寺':900,'青龙寺':700,'卧龙寺':500}
for i in d:
print(i+'的面积是'+str(d[i])+“平方米”)
和for循环常常一起搭配使用的,还有range() 函数。
for i in range(3):
print(i)
整数0,1,2显示在了终端上。所以range(t) 函数是可以生成一个0到t-1的整数序列。
for i in range(13,17):
print(i)
range(a,b) 函数又生成了一个整数序列。range(13,17)中的13是循环变量开始的值,17是上限。
因为这里的 for 循环是为了执行3次循环,range(3)里面的3个整数会被一一取出来。至于每次执行print('我很棒')时,i 这个变量里面是什么东西,并不重要。
所以,range() 函数可以用来帮我们确定循环执行的次数。
range(t) 是可以生成从0—t-1的整数序列
range(a,b)可以生成a—b-1的整数序列
14、
#a、b、c分别代表广东甜食、四川甜食、江南甜食
广东=['榴莲酥','双皮奶','马拉糕','杨枝甘露']
四川=['红糖糍粑','冰粉','米花糖','蛋烘糕']
江南=['青团','桂花糕','酒酿圆子','糖芋苗']
#foodlist代表总的菜单
foodlist=[广东,四川,江南]
for i in foodlist:
print(i)
终端把三个列表的内容都打印出来了,第1行是列表广东里的数据,终端第2行是列表四川里的数据,终端第3行是列表江南里的数据。这是第一次的for循环取出的内容。
继续写,我们的目的是把这些食物一样一样地打印出来,然后询问夫人,那我们就必须继续取列表广东,四川,江南里面的值。
广东=['榴莲酥','双皮奶','马拉糕','杨枝甘露']
四川=['红糖糍粑','冰粉','米花糖','蛋烘糕']
江南=['青团','桂花糕','酒酿圆子','糖芋苗']
foodlist=[广东,四川,江南]
for i in foodlist:
for l in i:
print(l)
q = input('是你想吃的吗')
if q == '是':
print('好哒,我明儿就去找人买')
exit()
print('这里没有夫人爱吃的,我再去找别的甜食')
15、函数function
def greet(name):
print(name+'早上好')
greet('小龙人')
定义函数,然后调用函数,计算机才会理你。
def love():
import time
words = input('请输入一个代表你爱人的英文字母:')
for i in words.split():
print('\n'.join([''.join([(i[(x-y) % len(i)]
if ((x * 0.05) ** 2 + (y * 0.1) ** 2 - 1) ** 3 - (x * 0.05) ** 2 * (y * 0.1) ** 3 <= 0
else ' ')
for x in range(-30, 30)]) for y in range(12, -12, -1)]))
time.sleep(1.5)
love()
def love(name):
import time
for i in words.split():
print('\n'.join([''.join([(i[(x-y) % len(i)]
if ((x * 0.05) ** 2 + (y * 0.1) ** 2 - 1) ** 3 - (x * 0.05) ** 2 * (y * 0.1) ** 3 <= 0
else ' ')
for x in range(-30, 30)]) for y in range(12, -12, -1)]))
time.sleep(1.5)
words = input('请输入一个代表你爱人的英文字母:')
love(words)
16、
当变量处于被定义的函数内时,就是局部变量,只能在这个函数内被访问;当变量处于被定义的函数外时,就是全局变量,可以在程序中的任何位置被访问。
有一个模块叫random,是专门用来处理和随机相关的程序的。
刚刚已经讲过,模块里不止一种函数,我们只要选择适用的函数即可,在这里是random.choice() 。这些都是固定的写法,来看代码怎么写:
import random
import time
list = ['海绵宝宝','派大星','章鱼哥','蟹老板','素以相望','霖']
a = random.choice(list)
print('开奖倒计时', 3)
time.sleep(1)
print('开奖倒计时', 2)
time.sleep(1)
print('开奖倒计时', 1)
time.sleep(1)
print(image)
print('恭喜'+a+'中奖!')
import 某个模块会放在代码最开头,import代表引入。
17、Python给我们提供了一种异常处理的语句——try...except... 它可以在异常出现时即时捕获,然后内部消化掉,让程序继续运行。
num = [0,1,2,3]
for x in num:
print (6/x)
第一位就是0,程序就报错。那么这时,你可以使用try…except语句来帮助你。就像这样:
num = [0,1,2,3]
for x in num:
try:
#尝试执行下列代码
print (6/x)
#使用6除以num中的元素,并输出
except ZeroDivisionError:
#除非发生ZeroDivisionError报错,执行下列代码:
print('0是不能做除数的!')
#打印“0是不能做除数的!”
如果你想省事,下面两个技巧能帮到你:
1.except后面什么也不跟,直接加冒号。意味着,只要报错就执行下面的代码,不管是什么错误类型。
2.报错后执行的代码,你也可以只写一个'pass','pass'的意思就是:什么都不做。'pass'的存在意义是占个位,维护格式完整。比如except语句后面要求你要执行点什么报错后的程序,但你又什么都不想执行,那就pass好了。
所以,请写一个无限循环的小程序,里面请用户输入整数,然后检测是否是整数,如果是整数就结束循环,不是的话,捕获错误并报错(打印--要输入整数噢)!
while 1:
a=input('input a num:')
try:
if type(a)==int:
break
except ValueError:
print('not num')
while True:
try:
a = int(input('请输入一个整数:'))
break
except ValueError:
print('要输入整数噢')