设为首页 收藏本站
查看: 878|回复: 0

[经验分享] python核心编程-习题-第二章

[复制链接]

尚未签到

发表于 2015-11-30 13:03:40 | 显示全部楼层 |阅读模式
  PS:PDF在线地址:http://bcmi.sjtu.edu.cn/~zhaohai/ptm2012/data/Python-kernel.programming.v2.pdf
  2-1  变量,print 和字符串格式化运算符。启动交互式解释器,给一些变量赋值(字符串,数值等等)并通过输入变量名显示它们的值。再用 print 语句做同样的事。这二者有何区别? 也尝试着使用字符串格式运算符%,多做几次,慢慢熟悉。



# -*- coding:utf-8 -*-
>>>a = 123
>>>b = '123'
>>>a
123
>>>b
'123'
>>>print a
123
>>>print b
123
>>>print '尽管print语句输出的a和b是一样的,但他们仍然不一样,a是%d,是整型;b是%s,是字符串。' % (a,b)
尽管print语句输出的a和b是一样的,但他们仍然不一样,a是123,是整型;b是123,是字符串。
  
  可见,在交互式解释器中,通过输入变量名称显示值是直接显示各变量包含变量类型的值,即字符串带有字符串的标志''引号;通过print语句,则字符串引号''被去掉。
  2-2  程序输出
  (a)  这段脚本用来计算 1 + 2 * 4 的值
  (b)这段脚本保存后再运行不会输出任何项
  (c)保存为脚本运行后,没有任何输出,与预想的一样。究其原因,是因为交互式解释器和脚本运行的不同
  (d)单独执行这段代码,不会有任何输出;在交互式解释器中输入 1 + 2 * 4 ,会输出"9".如下:



#!/usr/bin/env python
1 + 2 * 4
DSC0000.png
  (e)使用print语句即可
  2-3  略
  2-4  (a)  



1 # -*- coding:utf-8 -*-
2 string = raw_input("Please enter something:")
3 print string
  输出:



Please enter something:Python is number one!
Python is number one!
  (b)



# -*- coding:utf-8 -*-
string = raw_input("Please enter a number:")
print "Your enter is %d" % int(string)
  输出:



Please enter a number:123
Your enter is 123
  2-5  (a)



i = 0
while i <= 10:
print i
i += 1
  (b)



for i in range(11):
print i
  2-6  (1)



# -*- coding:utf-8 -*-
num = 10
if num > 0:
print u"它是正数!"
elif num < 0:
print u"它是负数!"
else:
print u"它是0"
  (2)



# -*- coding:utf-8 -*-
num = int(raw_input("输入一个数字:".decode("utf-8").encode("gbk")))
if num > 0:
print u"它是正数!"
elif num < 0:
print u"它是负数!"
else:
print u"它是0"
  2-7  (1) while



strings = raw_input("Please enter something:")
i = 0
while i < len(strings):
print strings,'(%d)' % i
i += 1
  (2)  for



strings = raw_input("Please enter something:")
for i,string in enumerate(strings):
print string,"(%d)" % i
  2-8  
  (1)  



list1 = [123,45,678,91,124]
i = 0
sum = 0
while i < len(list1):
sum = sum + list1
i += 1
print sum
sum = 0
for num in list1:
sum = sum + num
print sum
  (2)



num_one = int(raw_input("Please enter the first number:"))
num_two = int(raw_input("Please enter the second numebr:"))
num_three = int(raw_input("Please enter the third number:"))
num_four = int(raw_input("Please enter the fourth number:"))
num_five = int(raw_input("Please enter the fifth number:"))
list1 = [num_one,num_two,num_three,num_four,num_five]
i = 0
sum = 0
while i < len(list1):
sum = sum + list1
i += 1
print sum
sum = 0
for num in list1:
sum = sum + num
print sum
  2-9  



number = [12,345,67,890,123]
sum = 0
for num in number:
sum = sum + num
average = float(sum) / 5
print "%f is the average of these five numbers." % average
  2-10  



while True:
num = int(raw_input("Please enter a number bewteen 1 and 100:"))
if num >= 1 and num <= 100:
print "Well Done.You done it."
break
else:
print "Man,you are wrong!Please learn to read the prompt!!!"
continue
  2-11  



# -*- coding:utf-8 -*-
def calc_sum():
global sum
sum = 0
i = 0
while i < 5:
num = int(raw_input("请依次输入五个数字:".decode("utf-8").encode("gbk")))
sum = sum + num
i += 1
return sum
while True:
choice = raw_input("1求和,2求平均数,X退出,请输入你的选择:".decode("utf-8").encode("gbk"))
if choice == 'X':
print u"程序将退出"
break
elif choice.isdigit() and int(choice) == 1:
    #isdigit()用来判断一个对象是否是数字,是数字返回True,否则返回False。如123.isdigit()返回结果True
print u"计算五个数的和"
calc_sum()
print u"这五个数的和是:",sum
elif choice.isdigit() and int(choice) == 2:
print u"计算五个数的平均值"
calc_sum()
print u"这五个数的平均值是:",float(sum) / 5
else:
print u"请重新输入"
  2-12
  (a)  dir()会显示所有全局变量
  (b)   dir不加括号返回<built-in function dir>,对dir的基础介绍
  (c)   type(dir)返回<type 'builtin_function_or_method'>,意思是内建的函数或方法
  2-13
DSC0001.png
  2-14
  原语句:



print -2 * 4 + 3 ** 2
  改写:



print -2 * 4 + (3 ** 2)
  2-15/2-16    存疑,待补
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-145386-1-1.html 上篇帖子: Python 的字符编码 下篇帖子: Python高级编程之生成器(Generator)与coroutine(三):coroutine与pipeline(管道)和Dataflow(数据流_
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表