20161012 Python 读书笔记之 输出、循环

1.使用逗号输出

print 'Age:',42
name = 'Gumby'
salution = 'Mr.'
greeting = 'Hello.'
print greeting,salution,name
print greeting + ',',salution,name
2.把某件事为另一件事导入

from math import sqrt
print sqrt(4)
#当函数或者方法返回元祖时,这个特性很重要。
#假设需要获取字典中的任意的键-值对,可以使用popitem方法,这个方法将键-值作为元祖返回。
scoundrel = {'name':'Robin','girlfriend':'Marion'}
key,value = scoundrel.popitem()
print key
3.条件执行if语句

name = raw_input('What is your name?')
if name.endswith('Gumby'):
    if name.startswith('Mr.'):
        print 'Hello,Mr.Gumby'
    elif name.endswith('Mrs.'):
        print 'Hello,Mrs.Gumby'
    else:
        print 'Hello,Gumby'
else:
    print 'Hello,stranger'
#in:成员资格运算符
name = raw_input('What is your name?')
if 's' in name:
    print 'Your name contains the letter "s".'
else:
    print 'Your name does not contain the letter "s".'
#断言 关键字assert  因为与其让程序在晚些时候崩溃,不如在错误条件出现时直接让他崩溃。
age = -1
assert 0 <= age <=100,'The age must be realistic'
4.循环
#while 循环
x = 1
while x <= 100:
    print x,
    x +=1
#for循环
#打印1~100的数字
for number in range(1,101):
    print number,
#循环遍历字典元素
d = {'x':1,'y':2,'z':3}
for key,value in d.items():
    print key, 'corresponds to',value
#迭代工具
    #并行迭代
names = ['anne','beth','george','damon']
ages = [12,45,32,102]
#如果想要打印名字和对应的年龄,可以这样做
for i in range(len(names)):
    print names[i],'is',ages[i],'years old' #这里i是循环变量的标准变量名
#使用内建函数的zip函数可以用来进行并行迭代,可以把两个序列“压缩”在一起,然后返回一个元祖的列表
for name,age in zip(names,ages):
    print name,'is',age,'years old'
print zip(names,ages)
    #翻转何排序迭代
print sorted([4,3,6,8,3])
print sorted('Hello,world!')
print list(reversed('Hello,world!'))
#跳出循环
    #break 结束(跳出)循环可以使用break语句
    #寻找100以内的最大平方数
from math import sqrt
for n in range(90,0,-1):
    root = sqrt(n)
    if root == int(root):
        print n
        break
    #continue 它会让当前迭代结束,“跳”到下一轮循环的开始
    #它的最基本的意思是“跳过剩余的循环体,但不是当前的迭代结束”。

    #while True/break习语
while True:
    word = raw_input('Please enter a word:')
    if not word : break
    print 'The word was ' + word
from math import sqrt
for n in range(99,80,-1):
    root = sqrt(n)
    if root == int(root):
        print n
        break
else:
    print "Didn't find it"
    #列表推导式--轻量级循环
    #列表推导式是利用其他列表创建新列表的一种方法
print [x*x for x in range(10)]
print [x*x for x in range(10) if x % 3 == 0]

girls = ['alice','bernice','clarice']
boys = ['chris','arnold','bob']
letterGirls = {}
for girl in girls:
    letterGirls.setdefault(girl[0],[]).append(girl)
print [b+'+'+g for b in boys for g in letterGirls[b[0]]]
print letterGirls
    #字典的setdefault方法
    #setdefault方法在某种程度上类似于get方法,就是能够获得与给定键相关联的值,除此之外,setdefault还能在字典中不含有给定
    #键的情况下设定相应的键值
d = {}
print d.setdefault('name','N/A')
print d
d['name'] = 'Gumby'
print d
x = 1
del x
print x
#使用exec和eval执行和求值字符串
    #exec 执行一个字符串的语句是exec
    #可以通过增加in<scope>来实现,其中的<scope>就是起到放置代码字符串命名空间的字典。
from math import sqrt
scope = {}
exec 'sq = 4' in scope
print sqrt(4)
print scope['sq']
print len(scope)
print scope.keys()
    #evel函数 eval是了死于exec的内建函数。exec语句会执行一系列Python语句,而eval会计算Python表达式
print eval(raw_input("Enter an arithmetic expression:"))


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值