《python程序语言设计》2018版第5章第49题l利用turtle绘制乘法口诀表,结果放在最后


2024.06.09

05.49.01version

2024.06.10

05.49.02 经历了一天的奔波,发了两篇博客

开始来到这道题。已经22点了

python 复制代码
turtle.penup()
turtle.goto(-80, 0)
turtle.pendown()
turtle.write("Multiplication Table\n", font=("", 18, ""))
turtle.write("1  2  3  4  5  6  7  8  9", font=("", 18, ""))

turtle.done()

如果直接打印是不是现的low

做了for循环。但是这里的文字打印不是str所以我的end=""没法放在一行。

python 复制代码
turtle.write("", end="")

turtle.penup()
turtle.goto(-80, 0)
# turtle.pendown()
turtle.write("Multiplication Table\n", font=("", 18, ""))
for i in range(1, 10):
    turtle.write(i, font=("", 18, ""))
    #最后还是利用turtle来解决吧,移动turtle的位置
    turtle.goto(-80,-(i*18))

turtle.done()

2024.06.15

一停就好几天。

2024.06.16

这一个月。我发现我的粉丝多了。关注多了。

非常好。但是不能放弃和太骄傲。

python 复制代码
distance = 18
start_dis = 80
turtle.penup()
turtle.goto(-start_dis, 18)
# turtle.pendown()
turtle.write("Multiplication Table\n", font=("", 18, ""))
turtle.write("1 2 3 4 5 6 7 8 9", font=("", 18, ""))
turtle.write("----------------------------------------", font=("", 18, ""))
turtle.goto(-start_dis, -18)
for i in range(1, 10):
    turtle.write(i, font=("", 18, ""))
    # write的设计不是和str使用的。它是要配合不断电话goto坐标
    turtle.goto(-start_dis + 15, -(i * 18))
    turtle.write("|", font=("", 18, ""))
    turtle.goto(-start_dis + (i * 15), -(i * 18))
    for j in range(1, i):
        turtle.write(j, font=("", 18, ""))

    # turtle.write()
    # 最后还是利用turtle来解决吧,移动turtle的位置
    # turtle.goto(-80, -(distance + (i * 18)))
    #
    # turtle.done()
    turtle.done()
 

2024.06.17

昨天写的代码一团早。周日情绪也上不来

我觉得这是一个array的问题


2024.06.18

今天开始设计新的课程。脑子很乱。时间紧

我觉得我科有限抛开turtle,先用str和int的方式来做一下这个题

python 复制代码
-----------------------------------------------
print("\t1  2  3  4  5  6  7  8  9 ")
print("________________________________")
for i in range(1, 10):
    for j in range(1, 10):
        a = j * i
        print("{:4d}".format(a), end="")
    print()

这段代码打印出了9x9乘法表。但是标题我用的是直接书写,这样无法

用format进行逐一格式修改。我现在是不是可以在上面建立一个循环呢?

经过循环的设计str的方法如下:

python 复制代码
---------------------------------------------------
print("\t\tMultiplication Table  ")

# 我觉得数字的地方,我是不是可以用for打印的变量来完成呢
print("\t1  2  3  4  5  6  7  8  9 ")
print("-----------------------------")
for i in range(1, 10):
    print(i, end="|")
    for j in range(1, 10):
        a = j * i
        print("{:3d}".format(a), end="")
    print()

-----------------------------------------------------

结果如下

用现在成功的代码我们来设计turtle,我认为就是把print换成turtle.write这么简单

但是不是呢?拭目以待吧

python 复制代码
# 如果没有goto就是贴到了一起
turtle.write("\tMultiplication Table  ")
turtle.penup()
turtle.goto(0, -18)
turtle.write("\t1  2  3  4  5  6  7  8  9 ")
turtle.goto(0, -36)
turtle.write("-----------------", font=("", 18, ""))
turtle.goto(0, -45)
for i in range(1, 10):
    a_d = i * 18
    turtle.goto(0, -(45 + a_d))
    turtle.write(i)
    turtle.goto(0+10, -(45 + a_d))
    turtle.write("|")

    for j in range(1, 10):
        c = 32
        c_d = 18 * i
        a = j * i
        turtle.write("{:3d}".format(a))
        turtle.goto(c * j, -(45 + c_d))

turtle.done()

终于成功了

就是排版有点差劲,下次改进。

相关推荐
rit843249925 分钟前
基于MATLAB的模糊图像复原
开发语言·matlab
fie888930 分钟前
基于MATLAB的声呐图像特征提取与显示
开发语言·人工智能
_extraordinary_1 小时前
Java SpringMVC(二) --- 响应,综合性练习
java·开发语言
shut up2 小时前
LangChain - 如何使用阿里云百炼平台的Qwen-plus模型构建一个桌面文件查询AI助手 - 超详细
人工智能·python·langchain·智能体
宝贝儿好3 小时前
【python】第五章:python-GUI编程
python·pyqt
@。1243 小时前
对于灰度发布(金丝雀发布)的了解
开发语言·前端
闲人编程3 小时前
从多个数据源(CSV, Excel, SQL)自动整合数据
python·mysql·数据分析·csv·存储·数据源·codecapsule
hsjkdhs3 小时前
C++之多层继承、多源继承、菱形继承
开发语言·c++·算法
B站_计算机毕业设计之家3 小时前
推荐系统实战:python新能源汽车智能推荐(两种协同过滤+Django 全栈项目 源码)计算机专业✅
大数据·python·django·汽车·推荐系统·新能源·新能源汽车
茯苓gao4 小时前
Django网站开发记录(一)配置Mniconda,Python虚拟环境,配置Django
后端·python·django