1. while:
i = 0
while i < 10:
print i
i += 1
2. for:
for i in range(0, 3):
print i
0 1 2
for i in range(3):
print i
0 1 2
for i in range(0, 3, 2):
print i
0 2
for i in range(3, 0, -1):
print i
3 2 1
3. 根据泰勒公式e = 1 + 1/1! + 1/2! + ...,求指数e
en_1 = 1
n = 1
factorial = 1
infactorial = 1
while infactorial > 1e-6:
en = en_1 + infactorial
n += 1
factorial *= n
infactorial = 1.0/factorial
en_1 = en
print "e = %-.5f"%en
#使用了格式化输出,取小数点后5为有效数字输出。还可以使用round(en,5)
4. 可以使用break,continue
5. 打印乘法表:
for i in range(1,10):
for j in range(1,i + 1):
print str(i) + "*" + str(j) + "=" + str(i*j),
print
6. 求一元二次方程:
import math
while True:
a,b,c = eval(raw_input("Enter three coefficients: "))
#a, b,c = input("Enter three coefficients: ")
if a== 0:
print "the equation is linear, not quadratic"
else:
delta = b*b - 4*a*c
print 'delta =',delta
if delta < 0:
print "Without real roots"
elif delta == 0:
print "Only one root is", (-b/2.0/a)
else:
discRoot = math.sqrt(delta)
r1 = (-b + discRoot) / (2*a)
r2 = (-b - discRoot) / (2*a)
print "Two distinct roots are: ", r1, r2
ch = raw_input("Please input \'c\' to end or any keys to continue\n")
if ch != 'c' and ch != 'C':
pass
else:
break
print "=== end ==="
7. 函数:
def sum(i1, i2):
result = 0
for i in range(i1, i2+1):
result += i
return result
def main():
print "sum(1, 10):", sum(1, 10)
print "sum(5, 7):", sum(5, 7)
main()
8. 函数中可以打印全局变量,要对全局变量进行运算时要使用global关键字:
x = 1
def increase():
global x
x += 1
print x
increase()
print x