python中图案打印相关题目

一、打印一个直角三角形,如图所示:
+
++
+++
++++

1)while循环
  index = 1
  layer=int(input("请输入一个整数"))
  while index <= layer:
  print("+"*index)
  index+=1
  2)for 循环
  layer=int(input("请输入一个整数"))
  for i in range(1,layer+1):
  		for j in range(1,i+1):
  				print("+",end=" ")
  		print(" ")     #打印完这一行之后要换行

二、打印一个等腰三角形

layer=int(input("请输入一个整数"))    
    for i in range(1,layer+1): #行数的控制
    		space_num=layer-i#空格的数量
    		for j in range(1,space_num+1):#空格打印的操作
    				print(" ",end=" ")
    		start_num=2*i-1#加号的数量
    		for k in range(1,start_num+1):#加号打印的操作
    				print("+",end=" ")
    		print( )#一行打印完成后换行操作

三、打印一个倒等腰三角形,如图所示:

layer=int(input("请输入一个整数"))
       for i in range(layer,0,-1): #第n行开始打印,步长为-1
       			space_num=layer-i#空格的数量
       			for j in range(1,space_num+1):#空格打印的操作
   						 print(" ",end=" ")		
   				start_num=2*i-1#加号的数量
   				for k in range(1,start_num+1):#加号打印的操作
   						 print("+",end=" ")
   				print( )#一行打印完成后换行操作

四、打印一个菱形

layer=int(input("请输入一个奇数")) 
		while layer%2==0:
				print("对不起你只能输入一个奇数")
		#上半部分
		for i in range(1,layer//2+2):
				space_num=layer-i#空格的数量
				for j in range(1,space_num+1):#空格打印的操作
						print(" ",end=" ")
				start_num=2*i-1#加号的数量
				for k in range(1,start_num+1):#加号打印的操作
						print("+",end=" ")
				 print( )#一行打印完成后换行操作
		
		 #下半部分
		 for i in range(layer//2,0,-1): #第n行开始打印,步长为-1 
				 space_num=layer-i#空格的数量 	
				 for j in range(1,space_num+1):#空格打印的操作
				 				print(" ",end=" ")
				 		start_num=2*i-1#加号的数量
				 		for k in range(1,start_num+1):#加号打印的操作
				 				print("+",end=" ")
				 		print( )#一行打印完成后换行操作

五、打印一个空心菱形

layer=int(input("请输入一个奇数")) 
		while layer%2==0:
				print("对不起你只能输入一个奇数")
		#上半部分
		for i in range(1,layer//2+2):
				space_num=layer-i#空格的数量
				for j in range(1,space_num+1):#空格打印的操作
						print(" ",end=" ")
				start_num=2*i-1#加号的数量
				for k in range(1,start_num+1):#加号打印的操作
						if k == 1 or k == start_num:
								print("+",end=" ")
						else:
								print(" ",end=" ")	
				 print( )#一行打印完成后换行操作
		
		 #下半部分
		 for i in range(layer//2,0,-1): #第n行开始打印,步长为-1 
				 space_num=layer-i#空格的数量 	
				 for j in range(1,space_num+1):#空格打印的操作
				 				print(" ",end=" ")
				 		start_num=2*i-1#加号的数量
				 		for k in range(1,start_num+1):#加号打印的操作
				 				if k == 1 or k == start_num:
				 						print("+",end=" ")
				 				else:
				 						print(" ",end=" ")
				 		print( )#一行打印完成后换行操作

六、两个数的交换

1)借助第三个变量(内存会增加)
 	a = 20
 	b = 500
 	temp=a
 	a=b
    b=temp
 2)求和法(内存不会增加)
 a = a + b
 b = a - b
 a = a - b
 3)pythonde 的特色的方式(利用python中的寄存器)
 a,b=b,a

七、判断一个数是否是质数(素数)【一个数除了1和他本身,其他数都不能整除的数称之为质数】

num=int(input("请输入一个自然数"))   
   is_prime = True.
   for i in range(2,num//2+1):
   		if num % i ==0:
   				is_prime = False
   				break
   	if is_prime :
   			print("这个数是质数")
   	else:
   			print("这个数不是质数")

八、水仙花数

for a in range(1,10):
 		for b in range(0,10):
 				for c in range(0,10):
 				s1=a*100+b*10+c
 				s2=a**3+b**3+c**3
 				if s1 == s2:
 						print("{}为水仙花数".format(s1))