题目1: 有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?
# 正常
num =[]for a inrange(1,5):for b inrange(1,5):for c inrange(1,5):if(a != b and a!= c and b!=c):# if a != b != c 只判断了a不等于b,b不等于c,没有判断a和c的关系
num.append(a*100+ b*10+ c)print(num)# 简写:
x =[1,2,3,4]
num =[i*100+ j*10+ k for i in x for j in x for k in x if(j != i and k != j and k != i)]# itertools ,结果需处理 import itertools
num =[]
x=[1,2,3,4]for i in itertools.permutations(x,3):
num.append(i)print(num)
题目3:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
"""
分析:
a + 100 = b**2 + 168 = c**2
168 = c**2 - b**2
因为b小于c,且b,c都属于168,所以b∈c
for c in range(1,168):
for b in range(1,c):
if c**2-b**2 == 168:
a = b**2 - 100
print(a)
"""
题目4:日期天数计算
题目4:输入某年某月某日,判断这一天是这一年的第几天?
"""
分析:
1. 月份 + 日 = 天数;2.1,4,9,11月 固定30天,3,5,6,8,10,12月 固定31天,2月闰年28天,非润29天;3. 考虑系统语言计算差会存在1天误差,所以起始天数为1;defget_days(year,month,day):
days =[31,28,31,30,31,60,31,31,30,31,30,31]sum=1# 不能是0,日期从1开始算if year %400==0or(year %4==0and year %100!=0):
days[2]= days[2]+1else:
days[2]= days[2]for i inrange(month-1):sum+= days[i]returnsum
get_days(2021,3,1)
题目18:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加由键盘控制."""
分析:
传入2个参数
1.总的几个数相加即最长的长度:len=52.传入的n 是什么: 如 222222222222222
找规律:2=2*10**0 n =2 幂 =(len-1)22=2*10**1+2222=2*10**2+222222=2*10**3+222
得公式: tmp = n*10**(len-1)+ tmp
defget_sum(n,len):sum=0# 输出和
tmp =0# 分解的值 for a inrange(1,len+1):# a 浮标 = 幂
tmp = n*10**(a-1)+ tmp
sum+= tmp
returnsum
get_sum(2,5)
题目19:完数判断
题目19:一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.编程找出1000以内的所有完数。
"""
分析: 同14先找因子 然后 n =sum(因子和)for a inrange(1,1000):sum=0for b inrange(1, a):if a % b ==0:sum+= b
ifsum== a:print(a)
题目21:猴子吃桃
题目21:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个.
第二天早上又将剩下的桃子吃掉一半,又多吃了一个。
以后每天早上都吃了前一天剩下的一半零一个。
到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。
"""
分析: 每次1/2+1,倒推即最后剩下的(n+1)*2= n 前一天的
即11534/2-1=7662766/2-1=3823382/2-1=1904190/2-1=94594/2-1=46646/2-1=22722/2-1=10810/2-1=494/2-1=1defpeach(rest):
rest =1for a inrange(1,11):# 第10天剩1个,实际是第九天吃完后还剩1个 a = 循环天数if a <=9:
rest =(rest+1)*2
a = a +1else:breakreturn rest
peach(10)
题目24:分数序列求和
题目24:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。
"""
分析:235813211235813
前20项之和首先得得到第20个数是什么,然后每个数相加
defadd_sum(n):# n第几个数
a =1# 分母
b =1# 分子sum=0for i inrange(1,n+1):
a,b = b,a+b
sum+= b/a
returnsum
add_sum(20)
题目25:阶乘累加
题目25:求1+2!+3!+...+20!的和。
"""
分析:24题是累加的概念,这里是累乘
defmul_sum(n):# n第几个数sum=0
tmp =1for x inrange(1,n+1):
tmp *= x
sum+= tmp
returnsum
mul_sum(3)
题目26:阶乘递归
题目26:利用递归方法求5!。
"""
分析:25题是累乘,26是简单化了
defmul_sum(n):# n第几个数
tmp =1for x inrange(1,n+1):
tmp *= x
return tmp
mul_sum(5)
题目28:年龄推理
题目28:有5个人坐在一起.
问第五个人多少岁?他说比第4个人大2岁。
问第4个人岁数,他说比第3个人大2岁。
问第3个人,又说比第2人大2岁。
问第2个人,说比第1个人大2岁。
最后问第一个人,他说是10岁。请问第五个人多大?
"""
分析:
递归思想 每前1个人+2岁即可;
age =10for i inrange(1,5):if i <=4:
age +=2else:
age
print(age)
题目83:求0—7所能组成的奇数个数。
"""
分析:0-7 共8个数,个位奇数为1,3,5,7,2位数及以上首位不可以为0;
则: 组成1位数是4个
组成2位数是7*4个
组成3位数是7*8*4个
组成4位数是7*8*8*4个
.... 依次类推
L =[]sum=0for i inrange(1,9):# i等于位数 if i ==1:
num =4sum+= num
if i >=2:
num =4*7*8**(i-2)sum+= num
print(sum)
题目85:9的倍数验证
题目85:输入一个奇数,然后判断最少几个 9 除于该数的结果为整数。
"""
i =int(input('输入奇数: '))sum=9whilesum% i !=0:sum=sum*10+9# 循环赋值 print(sum)
题目81:数学等式验证
题目81:809*??=800*??+9*?? 其中??代表的两位数,809*??为四位数,8*??的结果为两位数,9*??的结果为3位数。求??代表的两位数,及809*??后的结果。
"""
分析:809*ab 四位数 得到ab<=128*ab 两位数 得到ab<=129*ab 三位数 得到ab>11
所以ab =12for i inrange(10,101):if809* i ==800* i +9* i:if8* i <100:if9* i >100and9* i <1000:print(i ,809* i)
二、字符串操作
题目13:水仙花数
题目13:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。
例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
"""
// 取整 % 取余
num =[]for n inrange(100,1000):
a = n//100
b = n//10%10
c = n%10if n == a**3+ b**3+ c**3:
num.append(n)print(num)
题目89:某个公司采用公用电话传递数据,数据是四位的整数.
在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。
"""
分析: 即不断赋值和替换的过程。
n =1234
加5:6789
和/10:6789# 题目表达不清
交换:9876
n =str(input())
a =[]for i inrange(4):
a.append((int(n[i])+5)%10)
a[0],a[3]= a[3],a[0]
a[1],a[2]= a[2],a[1]print("".join('%s'%s for s in a))
题目86:两个字符串连接程序。
"""
a ="Kobe"
b ="24"
c = a + b
print(c)
题目31:星期判断
题目31:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母。
"""
分析:
week=['Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sunday']
特殊情况即首字母为T 和S的情况,简单判断即可;
fir =input("第1个字母:")if fir =='M':print("周一")elif fir =='W':print("周三")elif fir =='F':print("周五")elif fir =='T':
s =input("第2个字母:")if s =='u':print("周二")elif s =='h':print("周四")elif fir =='S':
s =input("第2个字母:")if s =='a':print("周六")elif s =='u':print("周日")else:print("输入错误")
三、列表与字典操作
题目5:三数排序
题目5:输入三个整数x,y,z,请把这三个数由小到大输出。
"""
defpx_3(a,b,c):
num =[a,b,c]
num.sort()return num
px_3(1,8,2)
题目38:矩阵对角线
题目38:求一个3*3矩阵主对角线元素之和。
"""
分析:1.主对角线元素之和 ---> 知道定义很重要
在一个n阶方阵(或是n阶行列式)中,从左上角到右下角这一斜线方向上的n个元素所在的对角线,叫做n阶方阵(或行列式)的主对角线。
2.设置一个双重for循环控制输入二维数组,再将n[i][j]累加后输出.# 未知矩阵if __name__ =='__main__':
a =[]sum=0.0for i inrange(3):
a.append([])for j inrange(3):
a[i].append(float(input("input num:\n")))for i inrange(3):sum+= a[i][i]print(sum)# 已知矩阵
m =[[1,2,3],[4,5,6],[7,8,9]]sum=0for i inrange(0,3):sum+= m[i][i]print(sum)
题目44:矩阵相加
题目44:两个 3 行 3 列的矩阵,实现其对应位置的数据相加,并返回一个新矩阵:
"""
X =[[12,7,3],[4,5,6],[7,8,9]]
Y =[[5,8,1],[6,7,3],[4,5,9]]
分析: 同38一样;
z =[]for i inrange(3):
z.append([])for i inrange(3):for j inrange(3):
z[i].append(x[i][j]+y[i][j])print(z)
题目68:数组循环移位
题目68:有 n 个整数,使其前面各数顺序向后移 m 个位置,最后 m 个数变成最前面的 m 个数
"""
分析: 因为总长度不变,即最后一项变为第一个,最后第二个变为整数第二个
即a[i]= a[i+m], a[len(a)-1]= a[i]
逻辑和方法对了,其实就很简单了
a =[1,2,3,4,5,6,7]# 测试列表
m =5# 设置向后移动 3 位for i inrange(m):
a.insert(0, a.pop())# pop 剔除默认最后一位,insert加入指定位置指定数;print(a)
题目69:约瑟夫环问题
题目69:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。
"""
n =[i+1for i inrange(20)]
i =1whilelen(n)>1:if i %3==0:
n.pop(0)else:
n.insert(len(n),n.pop(0))# 同68 考验逻辑
i +=1print(n)
题目72:创建链表
题目72:创建一个链表。
"""
l=[input("please input a number:\n")for i inrange(5)]print(l)
题目73:反向链表
题目73:反向输出一个链表。
"""
l=[input("please input a number:\n")for i inrange(5)]
l.reverse()print(l)
题目100:列表转字典
题目100:列表转换为字典。
"""
# 从列表创建字典
i =['a','b','c']
l =[1,2,3]
b=dict(zip(i,l))print(b)
题目39:数组插入排序
题目39:有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。
"""
分析: 题目其实说的不太明确,所以要挖掘隐藏条件:
已经排好序则代表按顺序大小排, 新输入的数,也需要从小到大排;
所以思路整体上就是循环比大小;
a =[1,2,3,5,6,7]
插入数字 4
a.append(4)sorted(a)
但显然题目考察的是希望自己能写这个逻辑,纯循环遇上数字较多的效率会比较低,所以可以折半选取再循环;
a =[1,2,3,5,6,7]
b =4for i inrange(len(a)-1):if b >= a[i]and b <= a[i+1]:
a.insert(i+1, b)breakelif i ==(len(a)-2):
a.append(b)breakprint(a)
题目67:数组极值交换
题目67:输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。
"""
分析: 利用下标和max,min即可;
a =[1,2,3,4,5]for i inrange(len(a)):if a[i]==max(a):
a[0],a[i]=a[i],a[0]# 不可分开写,否则会变成[6, 3, 4, 5, 6] 先后赋值;if a[i]==min(a):
a[len(a)-1],a[i]=a[i],a[len(a)-1]print(a)# 法2
a =[1,3,4,5,6]print(a)# 最小的放到最后min=min(a)
a.remove(min)
a.append(min)# 最大的放到最前面max=max(a)
a.remove(max)
a.insert(0,max)print(a)
题目99:有两个磁盘文件A和B,各存放一行字母,要求把这两个文件中的信息合并(按字母顺序排列), 输出到一个新文件C中。
"""
withopen('test1.txt')as f1,open('test2.txt')as f2,open('2.txt','w')as f3:for a in f1:
b = f2.read()
c =list(a + b)
c.sort()
d =''
d = d.join(c)
f3.write(d)
题目91:时间函数举例1。
"""
import time
print time.ctime(time.time())print time.asctime(time.localtime(time.time()))print time.asctime(time.gmtime(time.time()))
题目92:时间函数示例2
题目92:时间函数举例2。
"""
import time
start = time.time()for i inrange(3000):print(i)
end = time.time()print(end - start)
题目93:时间函数示例3
题目93:时间函数举例3。
"""
if __name__ =='__main__':import time
start = time.clock()for i inrange(100):print(i)
end = time.clock()print('different is %6.3f'%(end - start))
题目94:反应速度测试
题目94:时间函数举例4,一个猜数游戏,判断一个人反应快慢。 别看代码长,其实不难
"""
if __name__ =='__main__':import time
import random
play_it =input('do you want to play it.(\'y\' or \'n\')')while play_it =='y':
c =input('input a character:\n')
i = random.randint(0,2**32)%100print('please input number you guess:\n')
start = time.clock()
a = time.time()
guess =int(input('input your guess:\n'))while guess != i:if guess > i:print('please input a little smaller')
guess =int(input('input your guess:\n'))else:print('please input a little bigger')
guess =int(input('input your guess:\n'))
end = time.clock()
b = time.time()
var =(end - start)/18.2print(var)# print 'It took you %6.3 seconds' % time.difftime(b,a))if var <15:print('you are very clever!')elif var <25:print('you are normal!')else:print('you are stupid!')print('Congradulations')print('The number you guess is %d'% i)
play_it =input('do you want to play it.')
题目59:画图,综合例子。
"""
分析: 考察tkinter包的使用
if __name__ =='__main__':from Tkinter import*
canvas = Canvas(width =300,height =300,bg ='green')
canvas.pack(expand = YES,fill = BOTH)
x0 =150
y0 =100
canvas.create_oval(x0 -10,y0 -10,x0 +10,y0 +10)
canvas.create_oval(x0 -20,y0 -20,x0 +20,y0 +20)
canvas.create_oval(x0 -50,y0 -50,x0 +50,y0 +50)import math
B =0.809for i inrange(16):
a =2* math.pi /16* i
x = math.ceil(x0 +48* math.cos(a))
y = math.ceil(y0 +48* math.sin(a)* B)
canvas.create_line(x0,y0,x,y,fill ='red')
canvas.create_oval(x0 -60,y0 -60,x0 +60,y0 +60)for k inrange(501):for i inrange(17):
a =(2* math.pi /16)* i +(2* math.pi /180)* k
x = math.ceil(x0 +48* math.cos(a))
y = math.ceil(y0 +48+ math.sin(a)* B)
canvas.create_line(x0,y0,x,y,fill ='red')for j inrange(51):
a =(2* math.pi /16)* i +(2* math.pi /180)* k -1
x = math.ceil(x0 +48* math.cos(a))
y = math.ceil(y0 +48* math.sin(a)* B)
canvas.create_line(x0,y0,x,y,fill ='red')
mainloop()
题目63:椭圆绘制
题目63:画椭圆。
"""
分析: 考察tkinter包的使用
if __name__ =='__main__':from Tkinter import*
x =360
y =160
top = y -30
bottom = y -30
canvas = Canvas(width =400,height =600,bg ='white')for i inrange(20):
canvas.create_oval(250- top,250- bottom,250+ top,250+ bottom)
top -=5
bottom +=5
canvas.pack()
mainloop()
题目64:图形组合
"""
题目64:利用ellipse 和 rectangle 画图。。
"""if __name__ =='__main__':from Tkinter import*
canvas = Canvas(width =400,height =600,bg ='white')
left =20
right =50
top =50
num =15for i inrange(num):
canvas.create_oval(250- right,250- left,250+ right,250+ left)
canvas.create_oval(250-20,250- top,250+20,250+ top)
canvas.create_rectangle(20-2* i,20-2* i,10*(i +2),10*( i +2))
right +=5
left +=5
top +=10
canvas.pack()
mainloop()
题目23:打印出如下图案(菱形):*************************"""
defpic(n):for i inrange(0,n):
a =abs(i -int(n/2))
b = n -abs(i -int(n/2))print(" "*a+"*"*(b-a))
pic(7)
七、算法与数据结构
题目6:斐波那契数列
题目6:斐波那契数列(Fibonacci sequence),又称黄金分割数列,指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……。
"""
从第3个数起,每一个数等于前2个数的和;
num = f(n-1)+f(n-2)(n>=2)defFibonacci_sequence(n):
a, b =0,1while n>0:
a, b, n = b, a + b, n -1print(a)
Fibonacci_sequence(10)
题目12:素数筛选
题目12:判断101-200之间有多少个素数,并输出所有素数。
"""
分析:
判断素数x方法: 从2-->(x-1)之间能有一个数被整除 则非素数;
num =[]for a inrange(101,200):for b inrange(2,a-1):if a%b ==0:breakelse:# 这里位置不能写错,不然容易陷入无限循环;
num.append(a)print(num)
题目20:小球弹跳计算
题目20:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?
"""
落下高度 返回高度 落地时经过距离
第一次 10050100
第二次 5025100+100=200
第三次 2512.550+100+100=250
第四次 12.56.2525+100+100+50=275
可以看到规律
第n次 分析找出规律即可
deffall(n):
height =100
far =100for i inrange(2, n+1):
far = far + height
height = height /2return far,height/2
fall(10)
题目22:比赛名单排列
题目22:两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。
a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。
"""
分析: 直接可以得出答案,c和y, a和z,b和x ,用变成实现则将判断逻辑写下即可;for a in['x','y','z']:for b in['x','y','z']:for c in['x','y','z']:if(a!=b)and(b!=c)and(c!=a)and(a!='x')and(c!='x')and(c!='z'):print('a和%s比赛,b和%s比赛,c和%s比赛'%(a,b,c))
法2:
m=['a','b','c']
n=['x','y','z']
L=[]for i inrange(0,3):for j inrange(0,3):
L.append(m[i]+n[j])
L.remove('ax')
L.remove('ay')
L.remove('by')
L.remove('bz')
L.remove('cx')
L.remove('cz')print(L)
题目61:杨辉三角生成
题目61:打印出杨辉三角形(要求打印出10行如下图)。
"""
分析: 首先要理解什么是杨辉三角,这是非常经典的一个题目;11112113311464115101051161520156117213535217118285670562881
杨辉三角的特性:1.第n行的m个数可表示为 C(n-1,m-1),即为从n-1个不同元素中取m-1个元素的组合数。
2.每个数字等于上一行的左右两个数字之和。可用此性质写出整个杨辉三角。
即第n+1行的第i个数等于第n行的第i-1个数和第i个数之和,这也是组合数的性质之一。即 C(n+1,i)=C(n,i)+C(n,i-1)。
defYh_triangles():
L =[1]whileTrue:yield L
L =[sum(i)for i inzip([0]+L, L+[0])]defYh_triangles(num =10):
L =[[1]]for i inrange(1,num):
L.append([(0if j==0else L[i-1][j-1])+(0if j ==len(L[i-1])else L[i-1][j])for j inrange(i+1)])return L
题目76:分段函数计算
题目76:编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n,当输入n为奇数时,调用函数1/1+1/3+...+1/n
"""
# 比较简单,直接上代码 defnum(n):sum=0if n%2==0:for i inrange(1,int(n/2)+1):sum+=1/(2*i)returnsumif n%2!=0:for i inrange(1,int((n+1)/2)+1):sum+=1/(2*i-1)returnsum
num(5)# 同理,应用range()的步长会更高效; defnum(n):
sum_tmp =[1/i for i inrange(n,0,-2)]returnsum(sum_tmp)
num(4)
题目77:循环输出列表
题目77:循环输出列表
"""
ls =['Kobe','24','8']for i inrange(len(ls)):print(ls[i])
题目78:最大年龄查找
题目78:找到年龄最大的人,并输出。请找出程序中有什么问题。
"""
person_age ={"li":18,"wang":50,"zhang":20,"sun":22}defget_max(dict):
max_age =0for key, value indict.items():if value > max_age:
max_age = value
name = key
print(name)print(max_age)
get_max(person_age)
题目8:输出 9*9 乘法口诀表。
"""
1*1=12*1=22*2=43*1=33*2=63*3=94*1=44*2=84*3=124*4=165*1=55*2=105*3=155*4=205*5=256*1=66*2=126*3=186*4=246*5=306*6=367*1=77*2=147*3=217*4=287*5=357*6=427*7=498*1=88*2=168*3=248*4=328*5=408*6=488*7=568*8=649*1=99*2=189*3=279*4=369*5=459*6=549*7=639*8=729*9=81for a inrange(1,10):for b inrange(1,10):print(str(a),"*",str(b),"=",a*b )
题目9:延时输出
题目9:暂停一秒输出。
程序分析:使用 time 模块的 sleep() 函数。
"""
# 没有具体要求,能实现延迟即可; import time
id=[1,2,3]for i inrange(len(id)):print(i)
time.sleep(2)
题目14:质因数分解
题目14:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
"""
分析:
要找出全部因数比较容易,第一次写输出的是[2,3,5],没有考虑到重复因子的情况,所以要加while判断的逻辑;defget_factor(n):print('{} = '.format(n), end=" ")ifnotisinstance(n,int)or n <=0:# 判断变量是否是已知字段类型, 字符串可迭代 print('请输入一个正确的数字 !')
exit(0)elif n in[1]:print('{}'.format(n))while n notin[1]:# 循环保证递归for a inrange(2, n +1):if n % a ==0:
n //= a
if n ==1:# 这步很重要,判断关键 print(a)else:# index 一定是素数print('{} *'.format(a), end=" ")break
get_factor(10)
题目29:给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。
"""
分析: 本质考察如何拆解字符串
# 最简单写法
tmp =input("输入一个数字")len(tmp)list(tmp)[::-1]# list可拆解字符串str(tmp)[::-1]# str 不拆解# 普通写法
n =int(input("请输入一个数:\n"))
a = n%10000# 万位
b =(n/1000)%10# 千位
c =(n/100)%10# 百位
d =(n/10)%10# 十位
e =(n/1)%10# 个位 if a !=0:print("5 位数:",e,d,c,b,a)elif b !=0:print("4 位数:",e,d,c,b)elif c !=0:print("3 位数:",e,d,c)elif d !=0:print("2 位数:",e,d)else:print("1 位数:",e)
题目36:求100之内的素数。
"""
分析: 第12题做过如何判断素数,一模一样;
num =[]for a inrange(1,100):for b inrange(2,a-1):if a%b ==0:breakelse:# 这里位置不能写错,不然容易陷入无限循环;
num.append(a)print(num)
题目37:十数排序
题目37:对10个数进行排序。
"""
分析: 和第五题一样
依次输入10个数字;defpx_3(a,b,c....):
num =[a,b,c]
num.sort()return num
同样方法:
num=[]for i inrange(1,11):
a=int(input('int%d: '%(i)))
num.append(a)
num.sort()
题目41:静态变量
题目41:模仿静态变量的用法。
"""
分析: 官方写法参考
defvarfunc():
var =0print('var = %d'% var)
var +=1if __name__ =='__main__':for i inrange(3):
varfunc()# 类的属性# 作为类的一个属性吧classStatic:
StaticVar =5defvarfunc(self):
self.StaticVar +=1print(self.StaticVar)print(Static.StaticVar)
a = Static()for i inrange(3):
a.varfunc()
题目42:自动变量
题目42:学习使用auto定义变量的用法。
"""
分析: 官方写法参考
num =2defautofunc():
num =1print('internal block num = %d'% num)
num +=1for i inrange(3):print('The num = %d'% num)
num +=1
autofunc()