小熊奶糖(BearCandy)
小熊奶糖(BearCandy)
发布于 2024-03-27 / 17 阅读
0
0

Python打印五子棋盘|乘法表|找出素数

Python打印五子棋盘|打印99乘法表

#如“┌”、“─”、“┬”、“─”、“┐”、“└”、“┴”、“┘”、“├”、“┤”、“┼”、“│”等来代
# print("┌" , end="")
# print("┬"*(a-2),end="")
# print("┐")   
#我的答案(未使用循环嵌套)
a=int(input("请输入棋盘大小"))
for x in range(a):
  if x==0:
    print("┌" , end="")
    print("┬"*(a-2),end="")
    print("┐")
  if x>0 and x<a-1:
    print("├", end="")
    print("┼"*(a-2),end="")
    print("┤")
  if x==a-1:
    print("└" , end="")
    print("┴"*(a-2),end="")
    print("┘")
#优化版
a=int(input("请输入棋盘大小:"))
#用棋盘符号“┌”、“─”、“┬”、“─”、“┐”、“└”、“┴”、“┘”、“├”、“┤”、“┼”、“│”代替
for i in range(0,a):
    for y in range(0,a):
        if i==0 and y==0:
            print('┌',end="")
        elif i==0 and y==a-1:
            print("─", end="")
            print('┐',end="\n")
        elif i==0 and y<a-1:
            print("─", end="")
            print("┬",end="")
        elif i>0 and i<a-1 and y==0:
            print("├",end="")
        elif i > 0 and i < a - 1 and y == a-1:
            print("─", end="")
            print("┤",end="\n")
        elif i == a-1 and y==0:
            print("└",end="")
        elif i == a-1 and y==a-1:
            print("─", end="")
            print("┘",end="\n")
        elif i == a-1 and y<a-1:
            print("─", end="")
            print("┴",end="")
        else:
            print("─",end="")
            print("┼", end="")
#自认为更好的版本
x = 10
print("┌-",end="")
for i in range(1, x):
    print("-┬-",end="")
print("-┐")
for i in range(2, x):
  print("├-",end="")
  for j in range(1, x):
      print("-┼-",end="")
      if(j == x-1):
         print("-┤")
print("└-",end="")
for i in range(1, x):
    print("-┴-",end="")
print("-┘")

标准答案:

Screenshot_2024-03-27-19-49-18-032_com.tencent.mm.jpg

解析:

如图使用两层for循环,第一层for循环表示行,第二层for循环表示列,并且i每增加1,都会执行一次第二层for循环,第二层for会完全执行,意思是外层循环执行一次,内层循环会完整执行。

列如:

i=0时j会等于0,1,2,3,size-1

i=1时j也会等于0,1,2,3,size-1

当i=0并且j=0的时候表示的是整个棋盘第一个字符

同理当i=0并且j=size-1的时候表示的是第一行最后一个字符。。。

由此i表示x,j为y根据规律并限制条件就可以打印出完整棋盘了。

乘法表

我的答案:


for i in range (1,10):
  for y in range(1,i+1):
    print(i,"X",y,"=",i*y,end="  ")
    if(y==i):
      print()

找出素数

#可能存在错误
print (2,"是质数")
print (3,"是质数")
for i in range(4,101):
    #可以视为2或者3的倍数
    if i%2==0 or i%3==0:
        print(i,"不是质数")
    else:
        print(i,"是质数")
#标准答案
for i in range(2,100):
    for x in range(2,i):
      if (i%x==0):
          break
    else:
        print(i)
#遍历从2到100
for i in range(2,101):
    #遍历从2到i,如果大于i就有余数所以不考虑
    for y in range(2,i):
        #当i%y==0时退出i的本次循环进入下一轮
        if i%y==0:
            #c=0表示不是质数
            c=0
            break
        else:
            # c=1表示是质数
            c=1
    #默认C为0但如果c为1则输出i这个i就是质数
    if (c==1):
        print(i)

IMG_20240327_094431.jpg


评论