Python3.0学习基本语法·2

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)  

列表的基本操作:生成列表,取出数据,追加数据。已经学完。


image.png

11、字典(dict)


image.png

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('要输入整数噢')
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,542评论 6 504
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,822评论 3 394
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,912评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,449评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,500评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,370评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,193评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,074评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,505评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,722评论 3 335
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,841评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,569评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,168评论 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,783评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,918评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,962评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,781评论 2 354