《Python语言程序设计》前四章学习记录
2015-12-30 20:19
519 查看
1.不换行打印:
2.格式化数字:
3.最小化数值错误:
在循环继续条件中使用浮点数可能会导致数值错误。
但正确结果应该为50.5,因为循环的每次迭代中变量i都递增0.01,当循环结束时,i的值稍稍大于1,这导致最后一个i的值没有被加到sum上。
最基本的问题是浮点数被近似表示了。
4.问题:蒙特卡洛模拟
使用随机数和概率来解决问题
例子:求π的近似值
首先绘制一个带外接正方形的圆。
假设这个圆的半径为1,因此,这个圆的面积就是π,而正方形的面积为4,在这个正方形内随机产生一个点,这个点落在圆内的面积为circleArea/squareArea =π/4
5.显示素数
在五行李显示前50个素数,每行10个
编程步骤:
先编写代码判定给定的那个数字是否为素数,然后再用一个循环来扩展它,判断其它数字是否为素数。
print("AAA", end = ' ') print("BBB", end = '') print("CCC", end = '**') #输出 AAA BBBCCC**
2.格式化数字:
format(item, format-specifier) #"10.2f" 10为域宽度,2为精度,f为转换码 >>> print(format(57.467657, "10.2f")) 57.47 #默认为右对齐,加"<"为左对齐,注意打印结果后面的空格 >>> print(format(57.467657, "<10.2f")) 57.47 --------------------------------- "10.2f" "10.2e" "5d"整数 "5x"十六进制数 "5o"八进制数 "5b"二进制数 "10.2%"格式为百分数 "50s"字符串 "<10.2f"向左对齐格式化项目 ">10.2f"向右对齐格式化项目
3.最小化数值错误:
在循环继续条件中使用浮点数可能会导致数值错误。
sum = 0 i = 0.01 while i <= 1.0: sum += i i += 0.01 print("The sum is", sum) print('i is',i) #输出结果 The sum is 49.50000000000003 i is 1.0000000000000007
但正确结果应该为50.5,因为循环的每次迭代中变量i都递增0.01,当循环结束时,i的值稍稍大于1,这导致最后一个i的值没有被加到sum上。
最基本的问题是浮点数被近似表示了。
4.问题:蒙特卡洛模拟
使用随机数和概率来解决问题
例子:求π的近似值
首先绘制一个带外接正方形的圆。
假设这个圆的半径为1,因此,这个圆的面积就是π,而正方形的面积为4,在这个正方形内随机产生一个点,这个点落在圆内的面积为circleArea/squareArea =π/4
import random NUMBER_OF_TRIALS = 3000000 numberOfHits = 0 for i in range(NUMBER_OF_TRIALS): x = random.uniform(-1, 1) y = random.uniform(-1, 1) if x ** 2 + y ** 2 <= 1: numberOfHits += 1 pi = 4 * numberOfHits / NUMBER_OF_TRIALS print("PI is ", pi)
5.显示素数
在五行李显示前50个素数,每行10个
编程步骤:
先编写代码判定给定的那个数字是否为素数,然后再用一个循环来扩展它,判断其它数字是否为素数。
NUMBER_OF_PRIMES = 50 #总计要显示素数的个数 NUMBER_OF_PRIMES_PER_LINE = 10 #每行10个 count = 0 #素数的个数 number = 2 #素数起始数字 print("The first 50 prime numbers are") #查找素数 while count < NUMBER_OF_PRIMES: isPrime = True divisor = 2 while divisor <= number / 2: if number % divisor == 0: isPrime = False break divisor += 1 if isPrime: count += 1 print (format(number, "5d"), end = '') if count % NUMBER_OF_PRIMES_PER_LINE == 0: print() number += 1 #输出结果 The first 50 prime numbers are 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199 211 223 227 229
相关文章推荐
- python基础:测量python代码的运行时间
- Python学习--基础代码练习
- Python Network Programming(8)---SocketServer模块
- 初写博客,python菜鸟一个,希望热心大神指导
- Python执行系统命令的方法 os.system(),os.popen(),commands
- leetcode之Minimum Depth of Binary Tree
- Windows运行Python服务
- Python编程的中文问题
- Python 2.2 定义函数
- python-numpy一些方法总结
- 《python进行自然语言处理》练习处理HTML内容的时候出现ImportError: No module named BeautifulSoup错误
- 我的Python成长之路---第一天---Python基础(作业2:三级菜单)---2015年12月26日(雾霾)
- 我的Python成长之路---第一天---Python基础(作业1:登录验证)---2015年12月26日(雾霾)
- python ---用户输入
- python --study address
- python读取xml文件
- Python实现批处理
- python中一些实用而有趣的模块
- 笨方法学Python(16-20)
- Python学习笔记——命令行下的输入输出