局部与整体变量
global num1
num1=20
def fun():
global num1
num1=2
print("函数内修改后num1=",num1)
print("初始num1=",num1)
fun()
print("运行完函数后num1=",num1)
Python 练习实例5
题目:输入三个整数x,y,z,请把这三个数由小到大输出。
程序分析:我们想办法把最小的数放到x上,先将x与y进行比较,如果x>y则将x与y的值进行交换,然后再用x与z进行比较,如果x>z则将x与z的值进行交换,这样能使x最小。
补充:以多种形式输出数字
a=input('shuru')
b=input('shuru')
c=input('shuru')
print(type(a))
l=[]
l.append(a)
l.append(b)
l.append(c)
l.sort()
print(type(l))
print(l)
print(' '.join(l))
得出结果
shuru8
shuru5
shuru9
<class 'str'>
<class 'list'>
['5', '8', '9']
5 8 9
Python 练习实例6
题目:斐波那契数列。
程序分析:斐波那契数列(Fibonacci sequence),又称黄金分割数列,指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……。
在数学上,费波那契数列是以递归的方法来定义:
F0 = 0 (n=0)
F1 = 1 (n=1)
Fn = F[n-1]+ Fn-2
def fib(n):
if n==0:
return 0
if (n==1)or(n==2):
return 1
return fib(n-1)+fib(n-2)
print(fib(10))
Python 练习实例7
题目:将一个列表的数据复制到另一个列表中。
程序分析:使用列表[:]。
Python 练习实例8
题目:输出 9*9 乘法口诀表。
程序分析:分行与列考虑,共9行9列,i控制行,j控制列。
上三角
for i in range(1, 10):
for j in range(1, i+1):
if (i==j):
print(j, "*", i, "=", i * j)
else:
if (i>j):
print(j, "*", i, "=", i * j,end=' ')
Python 练习实例9
题目:暂停一秒输出。
程序分析:使用 time 模块的 sleep() 函数
import time
m={2:1,3:2}
for key,value in dict.items(m):
time.sleep(2)
print(m)
Python 练习实例10
题目:暂停一秒输出,并格式化当前时间。
程序分析:无。
程序源代码:
import time
m={2:1,3:2}
for key,value in dict.items(m):
time.sleep(2)
print(time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())))
print (time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())))
print(m)
Python 练习实例11
题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
程序分析:兔子的规律为数列1,1,2,3,5,8,13,21…
f1 = 1
f2 = 1
for i in range(1,22):
print ('%d %d' % (f1,f2))
if (i % 3) == 0:
print('')#这句话很重要,直接打印的就是它所下面的内容
f1 = f1 + f2
f2 = f1 + f2
题目:判断101-200之间有多少个素数,并输出所有非素数。
程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。
程序源代码:
from math import sqrt
m=[]
for i in range(101,200):
b=(sqrt(i))
d=int(b)
for j in range(2,d):
if ((i%j)==0):
print(i,'不是质数')
m.append(i)
print(m)
Python 练习实例13
题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。
for i in range(100,999):
a=int(i/100)
b=int((i/10)%10)
c=int((i%100)%10)
d=(a**3+b**3+c**3)
if (d==i):
print(i)
Python 练习实例14
题目:将一个正整数分解质因数。例如:输入90,打印出90=233*5。
程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:
(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束ÿ