1 1 # 整数部分十进制转二进制
2 2
3 3 num = int(raw_input(">>>"))
4 4
5 5 if num < 0:
6 6 isNeg = True
7 7 num = abs(num)
8 8 else:
9 9 isNeg = False
10 10 result = ''
11 11 if num == 0:
12 12 result = '0'
13 13 while num > 0:
14 14 result = str(num%2) + result
15 15 num = num/2
16 16 if isNeg:
17 17 result = '-' + result
18 18 # 小数部分十进制转二进制
19 19
20 20 x = float(raw_input('Enter a decimal number between 0 and 1: '))
21 21
22 22 p = 0
23 23 while ((2**p)*x)%1 != 0:
24 24 print('Remainder = ' + str((2**p)*x - int((2**p)*x)))
25 25 p += 1
26 26
27 27 num = int(x*(2**p))
28 28
29 29 result = ''
30 30 if num == 0:
31 31 result = '0'
32 32 while num > 0:
33 33 result = str(num%2) + result
34 34 num = num/2
35 35
36 36 for i in range(p - len(result)):
37 37 result = '0' + result
38 38
39 39 result = result[0:-p] + '.' + result[-p:]
40 40 print('The binary representation of the decimal ' + str(x) + ' is ' + str(result))
41 # 穷举法猜测检验平方根
42 x = 25
43 epsilon = 0.01
44 step = epsilon**2
45 numGuesses = 0
46 ans = 0.0
47 while (abs(ans**2 - x)) >= epsilon and ans <= x:
48 ans += step
49 numGuesses += 1
50 print('numGuesses = ' + str(numGuesses))
51 if abs(ans**2-x) >= epsilon:
52 print('Failed on square root of ' + str(x))
53 else:
54 print(str(ans) + ' is close to the square root of ' + str(x))
55 # 二分法猜测检验平方根
56 # bisection search for square root
57
58 x = 12345
59 epsilon = 0.01
60 numGuesses = 0
61 low = 0.0
62 high = x
63 ans = (high + low)/2.0
64 while abs(ans**2 - x) >= epsilon:
65 print('low = ' + str(low) + ' high = ' + str(high) + ' ans = ' + str(ans))
66 numGuesses += 1
67 if ans**2 < x:
68 low = ans
69 else:
70 high = ans
71 ans = (high + low)/2.0
72 print('numGuesses = ' + str(numGuesses))
73 print(str(ans) + ' is close to square root of ' + str(x))
74 # Lecture 3.7, slide 3
75
76 # 牛顿-罗斐逊 算法搜寻平方根(g-(g**2-k)/2g)
77
78 epsilon = 0.01
79 y = 24.0
80 guess = y/2.0
81
82 while abs(guess*guess - y) >= epsilon:
83 guess = guess - (((guess**2) - y)/(2*guess))
84 print(guess)
85 print('Square root of ' + str(y) + ' is about ' + str(guess))
86
87
88 #第一个python程序
89 import pickle as p
90
91 linkmanfile = 'linkman.data'
92 #the name of the file where we will store the object
93
94 linkman = { 'zhangyunpeng' : '434498027',
95 'xuleisen' : '405929608',
96 'yinrui' : '1650502423',
97 'yancangkuo' : '1046287430',
98 'lijizhou' : '641224214',
99 'liuyulong' : '1919734130'
100 }
101 #set up linkman data base
102
103 print '%d lineman:' % len(linkman)
104 for name, qq in linkman.items():
105 print '%s : %s' % (name, qq)
106 #list original listing
107
108 print'(1-search 2-delete 3-add 0-revise)'
109 #prompting of operation
110
111 k = int(raw_input('please input:'))
112 if k == 1:
113 s = raw_input('Search the linkman name:')
114 print '%s' % linkman[s]
115
116 elif k == 2:
117 d = raw_input('delete the linkman name:')
118 del linkman[d]
119
120 elif k == 3:
121 a = raw_input('add the linkman name:')
122 A = raw_input('add the linkman number:')
123 linkman[a] = A
124
125 elif k == 0:
126 r = raw_input('which revise:')
127 linkman[r] = raw_input('revised number:')
128 #code of process
129
130 for name, qq in linkman.items():
131 print '%s : %s' % (name, qq)
132 #print new listing
133
134 f = file(linkmanfile, 'w')
135 p.dump(linkman, f)
136 #put data into a file for using next