参考链接: Python程序加两个数字

第一次博文 Time:2018年04月28日 星期六 11:37  二次补充 2018年05月02日  第一章 程序设计基本方法 P29

# 1.1字符串的拼接

str1 = input("请输入一个人的名字:")

str2 = input("请输入一个地点:")

print("世界这么大,{}想去{}看看。".format(str1,str2))

# 1.2整数序列求和

n = input("请输入一个整数N:")

sum = 0

for i in range(int(n)):#或者调和函数eval(n)

print(i,end = ' ')

sum = sum + i+1

print("1到N求和结果为:",sum)

# 1.3 9*9乘法表

# 版本一

for i in range(1,10):

for m in range(1,i+1):

sum = i*m

if m < i:

if sum < 10:

print(m,'*',i,"= {}".format(sum),end = '  ')

else:

print(m,'*',i,'=',sum,end = ' ')

else:

print(m,'*',i,'=',sum)

# 版本二

for i in range(1,10):

for j in range(1,i+1):

print("{} * {} = {:2}".format(j,i,i*j),end = ' ')

print('')

# ---------1.4 计算1+2!+3!+4!+...+10!------------#

sum,tmp = 0,1

for i in range(1,11):

tmp *= i

sum += tmp

print("1+2!+3!+4!+...+10!=",sum)

# ---------1.5 猴子吃桃问题 ----------------------#

# list(range(5,0,-1)) -----  [5, 4, 3, 2, 1]

n = 1

for i in range(5,0,-1):

n = (n+1)*2  #n = (n+1)<<1 左移一位乘以2

print(n)

# --------1.6 健康食谱输出 ------------------------#

diet = ['西红柿','土豆','鸡蛋','黄瓜','青菜']

for i in range(5):

for j in range(5):

if (i != j):

print(diet[i],diet[j],sep = '炒')

# --------1.7 绘制五角星 --------------------------#

from turtle import *

##fillcolor("red")

color('red','yellow') #color('线条颜色','填充颜色')

begin_fill()

while True:

forward(200)

right(144)

if abs(pos()) < 1:

break

end_fill()

# ------1.8 太阳花的绘制 --------------------------#

from turtle import *

color('red','yellow')

begin_fill()

while True:

forward(200)

left(170)

if abs(pos()) <1:

break

end_fill()

done()

第二章 Python程序实例解析

# ---------------温度转换程序1.1 P35-------------------------#

TempStr = input("请输入带有符号的温度值:")

if TempStr[-1] in ['F','f']:

C = (eval(TempStr[0:-1]) - 32) / 1.8

print("华氏温度{}转换为摄氏度温度是:{:.2f}C".format(TempStr,C))

elif TempStr[-1] in ['C','c']:

F = eval(TempStr[0:-1])*1.8 + 32

print("摄氏温度{}转换为华氏温度是:{:.2f}F".format(TempStr,F))

else:

print("输入格式错误")

# -----------------循环输入----------------------------------#

TempStr = input("请输入带有符号的温度值:")

while TempStr[-1] not in ['N','n']:

if TempStr[-1] in ['F','f']:

C = (eval(TempStr[0:-1]) - 32) / 1.8

print("华氏温度{}转换为摄氏度温度是:{:.2f}C".format(TempStr,C))

elif TempStr[-1] in ['C','c']:

F = eval(TempStr[0:-1])*1.8 + 32

print("摄氏温度{}转换为华氏温度是:{:.2f}F".format(TempStr,F))

else:

print("输入格式错误")

TempStr = input("请输入带有符号的温度值:")

# --------------------------正方形的绘制---------------------------------#im

import turtle as t

t.pensize(3)

for i in range(1,5):

t.fd(100)

t.setheading(90*i)

t.done()

# --------------------------六边形的绘制---------------------------------#im

import turtle as  t

t.pensize(3)

for i  in range(6):

t.fd(100)

t.seth(60+60*i)

t.done()

# --------------------------叠边形的绘制---------------------------------#im

import turtle as  t

t.pensize(3)

for i  in range(9):

t.fd(150)

t.seth(80+80*i)

t.done()

# --------------------------同切圆的绘制---------------------------------#im

import turtle as  t

t.pensize(3)

for i in range(4):

t.circle(50+i*10)

t.done()

# ----------------------------长度转换------------------#

# 1米 = 39.37英寸

le = input()

if le[-1] in ['M','m']:

temp = eval(le[0:-1]) * 39.37

print("{:.3f}in".format(temp))

elif le[-2:] in ['in','IN']:

temp = eval(le[0:-2]) / 39.37

print("{:.3f}m".format(temp))

else:

print("输入格式错误")

# ------------------------多彩蟒蛇的绘制---------------------------------#

import turtle as t

week = ['black','grey','darkgreen','gold','violet','purple','green','red']

def drawSnake(r,angle,length):

t.seth(-40)

for i in range(length):

t.pencolor(week[i%8])

t.circle(r,angle)

t.pencolor(week[(i+1)%8])

t.circle(-r,angle)

t.circle(r,angle/2)

t.fd(40)

t.circle(16,180)

t.fd(40*2/3)

t.setup(650,350)

t.penup()

t.fd(-250)

t.pendown()

t.pensize(25)

drawSnake(40,80,9)

t.done()

第三章 基本数据类型  天天向上的力量  在一年中,如果每天进步》》,那么一年下来会进步到多少呢?  在一年中,如果每天退步》》,那么一年下来会倒退到多少呢?

一年中每天提升0.001:1.44,一年中每天能力下降0.001:0.69一年中每天提升0.005:6.17,一年中每天能力下降0.005:0.16一年中每天提升0.01:37.78,一年中每天能力下降0.01:0.03向上5天向下2天的力量:4.63。工作日多努力每天的努力应达到:0.019

# 1.1 每天的改变在千分之一 P74

import math

dayup = math.pow((1+0.001),365)

daydown = math.pow((1-0.001),365)

print("一年中每天提升0.001:{:.2f},一年中每天能力下降0.001:{:.2f}".format(dayup,daydown))

import math

dayup = math.pow((1+0.005),365)

daydown = math.pow((1-0.005),365)

print("一年中每天提升0.005:{:.2f},一年中每天能力下降0.005:{:.2f}".format(dayup,daydown))

#1.3 每天的改变在百分之一

import math

dayfactor = 0.01

dayup = math.pow((1+dayfactor),365)

daydown = math.pow((1-dayfactor),365)

print("一年中每天提升0.01:{:.2f},一年中每天能力下降0.01:{:.2f}".format(dayup,daydown))

#1.4 在每年的365天中,每周工作5个工作日,工作日每天提升0.01,

#休息两天,休息时每天下降0.01

dayup,dayfactor = 1.0,0.01

for i in range(365):

if i%7 in [6,0]:

dayup *= (1 - dayfactor)

else:

dayup *= (1 + dayfactor)

print("向上5天向下2天的力量:{:.2f}。".format(dayup))

#1.5 问工作日多努力才能达到365天每天都工作的成绩

def daydayUp(df):

dayup = 1.0

for i in range(365):

if i%7 in [6,0]:

dayup *= (1 - 0.01)

else:

dayup *= (1 + df)

return dayup

dayfactor = 0.01

while(daydayUp(dayfactor) < 37.78):

dayfactor += 0.001

print("每天的努力应达到:{:.3f}".format(dayfactor))

第四章 程序的控制结构 P121

# 4.1 猜数字游戏

k = 5

x = eval(input("请输入0~9之间的整数"))

tem = 0

while x != k:

tem += 1

if(x > k):

print("遗憾,太大了")

else:

print("遗憾,太小了")

x = eval(input("请输入0~9之间的整数"))

print("预测{}次,你猜中了".format(tem))

# 4.2 统计不同字符个数

c,n,b,o = 0,0,0,0 # c代表字符个数 n代表数字个数 b代表空格个数 o代表其他字符个数

strs = input("请随意输入一行字符,包含字母,数字,空格或其他字符:")

for s in strs:

if ord('a') <= ord(s) <= ord('z') or ord('A') <= ord(s) <= ord('Z'):

c += 1

elif ord('0') <= ord(s) <= ord('9'):

n += 1

elif ord(' ') == ord(s):

b += 1

else:

o += 1

print("包含字母{0}个,数字{1}个,空格{2}个,其他字符{3}个".format(c,n,b,o))

# 4.3 最大公约数的计算

m,n = eval(input("请输入连个整数,中间以逗号隔开"))

x,y = m,n

r = m % n

while r != 0:

m,n = n,r

r = m % n

print("{}和{}的最大公约数:{};最小公倍数:{:.0f}".format(x,y,n,x*y/n))

# 4.4 猜数游戏续

import random

k = random.randint(0,100)

x = eval(input("请输入0~100之间的整数"))

tem = 0

while x != k:

tem += 1

if(x > k):

print("遗憾,太大了")

else:

print("遗憾,太小了")

x = eval(input("请输入0~100之间的整数"))

print("预测{}次,你猜中了".format(tem))

# 4.5 猜数字续

import random

while True:

try:

k = random.randint(0, 100)

x = int(input("请输入0~100之间的整数"))

tem = 0

while x != k:

tem += 1

if (x > k):

print("遗憾,太大了")

else:

print("遗憾,太小了")

x = eval(input("请输入0~100之间的整数"))

except:

print("输入内容必须为整数!")

else:

print("预测{}次,你猜中了".format(tem))

break

# 4.5 羊车门问题 思想:大量样本以频率代替概率

import random

a = ['羊1', '羊2', '汽车']

times = 1000*1000  # 尝试次数

first, change = 0, 0

for i in range(times):

x = random.choice(a)  # 正确答案

y = random.choice(a)  # 参赛者选择答案

if x == y:   # 坚持最初的选择

first += 1

else:         # 改变选择

change += 1

print("坚持初心获得胜利的概率:{:.2f}%".format(first/times*100))

print("改变初心获得胜利的概率:{:.2f}%".format(change/times*100))

第六章 组合数据类型 P180  6.1要求  编写程序,在16个字符大小写和9个数字组成的列表中随机生成10个8为密码。

#first 1 随机密码生成

# 导入random库,后续生成0~61之间的随机整数

import random

# 新建列表类型存储字符串和数字

strs = []

# 添加字符

for i in (65,97):

for j in range(26):

strs += chr(i+j)

# 添加数字

for i in range(10):

strs += str(i)

# 输出10个8位的密码

for i in range(10):

print("密码", i+1, ":",end= '')

for j in range(8):

print(strs[random.randint(0,61)], end= '')

print()

6.2重复元素判定  编写一个函数,接受列表作为参数,如果一个元素在列表中出现了不知一次,则返回True,但不要改变原来列表的值。同时编写调用这个函数和测试结果的程序。

思路:利用集合的无重复性实现

#second 2 重复元素判定

def testReEle(lis):

tem = set(lis)

if len(tem) == len(lis):

print('True')

else:

print('False')

def getList():

lis = []

ch = input("请输入判定元素,回车表示结束:")

while ch != '':

lis.append(ch)

ch = input("请输入判定元素,回车表示结束:")

testReEle(lis)

getList()

6.3文本字符分析  编写程序接收字符串,按照字符出现频率的降序打印字母。

# 文本字符分析

str = input("请输入要分析的字符串,回车表示结束:")

while str != '':

# 创建字典类型保存结果

counts = {}

# 扫描字符串,统计出现频率

for ch in str:

counts[ch] = counts.get(ch,0) + 1

# 改变类型为列表类型,按照出现频率降序排列

items = list(counts.items())

# 利用sort函数排序

items.sort(key= lambda x : x[1],reverse= True)

# 打印输出

for i in range(len(items)):

word, count = items[i]

print("{0:<10}{1:>5}".format(word, count))

str = input("请输入要分析的字符串,回车表示结束:")

6.5 生日悖论分析

# 生日驳论分析 样本太大时,运行时间会相应延长

# 思路:利用随机函数随机生成1~365中随机数字,以列表存储生成的23个数字,利用集合判断是否重复

#       大样本分析中,出现重复count+1,最后统计出现重复的数据所占的比例

import random

# 大样本次数

times = 1000*1000

# 统计生日相同的次数

count = 0

for i in range(times):

# 创建列表类型,存储23个人的生日在当年的某一天

lis = []

for j in range(23):

lis.append(random.randint(1,365))

# 利用集合的无重复性,转换为集合类型存储

items = set(lis)

if len(items) != len(lis):

count += 1

print("至少两人生日相同的概率:{:.2f}%".format(count/times*100))

[转载] Python语言程序设计基础(第二版)嵩天等课后习题答案相关推荐

  1. Python语言程序设计基础 第二版(嵩天著)课后答案第四章

    思考与练习: P99 4.1 正确 4.2 错误.分支结构(if/else)不能向已经执行过的语句部分跳转,循环结构(while/for)可以向已经执行过的语句部分跳转. 4.3 A 流程图的基本元素 ...

  2. Python语言程序设计基础 第二版(嵩天著)课后答案第六章

    思考与练习: P159 6.1 元组是不可变的.即你不能修改元组.元组通过圆括号中用逗号将元素分隔. 集合内的元素不能重复,只能是固定的数据类型,例如:整数.浮点数.字符串.元组等,列表,字典,和集合 ...

  3. Python语言程序设计基础 第二版(嵩天著)课后答案第三章(程序练习题)

    3.1 重量计算.月球上物体的体重是在地球上的16.5%,假如你在地球上每年增长0.5kg,编写程序输出未来10年你在地球和月球上的体重情况. 不是很懂题意是只要十年后的体重变化,还是要每一年的体重变 ...

  4. python语言程序设计基础第二版第七章答案-Python核心编程第二版 第七章课后答案...

    注:我使用的python3.5. 其中range和xrange,input和raw_input已经合并 7-1.字典方法.哪个字典方法可以用来把两个字典合并到一起. dict.update(dict2 ...

  5. python语言程序设计基础第二版第六章答案-python语言程序设计基础(第二版)第五章答案随笔...

    模板模式与策略模式/template模式与strategy模式/行为型模式 模板模式 模版模式,又被称为模版方法模式,它可以将工作流程进行封装,并且对外提供了个性化的控制,但主流程外界不能修改,也就是 ...

  6. python语言程序设计基础第二版答案-python语言程序设计基础(第二版)第五章答案随笔...

    模板模式与策略模式/template模式与strategy模式/行为型模式 模板模式 模版模式,又被称为模版方法模式,它可以将工作流程进行封装,并且对外提供了个性化的控制,但主流程外界不能修改,也就是 ...

  7. python语言程序设计基础第二版第六章答案-Python语言程序设计基础(第2版) 课后题 第六章...

    课后题是配套的参考答案 #e10.1CalHamlet.py def getText(): txt = open("hamlet.txt", "r").read ...

  8. Python语言程序设计基础(第二版)P93答案示例

    P93程序练习题代码示例 3.1 重量计算.月球上物体的体重是在地球上的16.5%,假如你在地球上每年增长 0.5 kg,编写程序,输入未来十年你在地球和月球上的体重状况.示例: #重量计算 weig ...

  9. java第二版课后题答案_Java语言程序设计第2版第16章 课后习题答案

    <Java语言程序设计第2版第16章 课后习题答案>由会员分享,可在线阅读,更多相关<Java语言程序设计第2版第16章 课后习题答案(62页珍藏版)>请在人人文库网上搜索. ...

  10. 计算机网络(第二版)--清华大学出版社课后习题答案

    计算机网络(第二版)清华大学出版社课后习题答案 第一章 1.计算机网络的发展可以划分为几个阶段?每个阶段各有什么特点? 答:可以划分为四个阶段: 第一阶段:20世纪50年代-------面向终端 计算 ...

最新文章

  1. 揭晓高速公路场景下计算机视觉与交通的秘密
  2. 利用NPP-VIIRS夜光数据识别中国收缩城市
  3. [2013.9.30]c#取三种时间
  4. 荣耀20/20 Pro相机规格曝光:DxOMark排名或将再次改变
  5. IIRFilterNode
  6. Linux系统性能检测
  7. 网站建设解决了传统的销售模式
  8. c++语言取整为什么要加0.5_22. 为什么 Python 中的整除是向下取整?
  9. android qq输入法表情,QQ输入法(Android)4.8 表情进行时
  10. CenterOs操作
  11. 禁用win10触摸屏手势_禁用和启用Win10平板边缘滑动手势的详细方法
  12. 校/院级虚拟仿真实验教学平台ilab-x接口版本对接文档
  13. python中英文对齐_Python中英文对齐终极解决方案
  14. python安装包提示error: option --single-version-externally-managed not recognized
  15. 【统计】时间序列预测之 Holt-Winters 指数平滑模型
  16. (找不同问题)有 50 家人家,每家一条狗。有一天警察通知, 50 条狗当中有病狗,行为和正常狗不一样
  17. python如何让程序暂停_王者荣耀集祝福linkedin雄攻略
  18. 群晖 NAS 通过 frp 实现内网穿透
  19. 不容错过的优派upay
  20. poj 1575 Easier Done Than Said?【字符串处理】

热门文章

  1. 2022牛客寒假算法基础集训营3 签到题7题(附基础集训营1-3签到题总结)
  2. 关于WindowsPE的DIY和黑科技
  3. Java正则匹配美元表达式_Java中的正则表达式“ $”(美元)元字符
  4. java 读取excel wps_安装WPS引发的excel上传问题
  5. 计算机学情分析万能模板,信息技术的教学计划以及学情分析
  6. 展开收起js动画效果
  7. matlab 矩阵中的矩阵的特征值,当矩阵的所有条目都是变量时,如何在matlab中找出矩阵的特征值?...
  8. Go语言基础进阶—程序结构—命名
  9. 排序算法—归并排序(思维导图思路整理)
  10. 数据结构—堆栈(思维导图)