「Mac玩转仓颉内测版40」小学奥数篇3 - 找出神秘数字
2024-12-03 19:57:26
12次阅读
0个评论
最后修改时间:2024-12-04 20:03:51
本篇将通过 Python 和 Cangjie 双语解决一个有趣的数字谜题,培养学生的数学推理能力以及编程的逻辑思维。
关键词
- 小学奥数
- Python + Cangjie
- 数字谜题
一、题目描述
老师设定了一个1到100之间的神秘数字。小朋友每次可以猜一个数字,如果猜错了,程序会提示猜测的数字是大了还是小了。小朋友需要通过多次尝试找到神秘数字。
- 输入格式:用户每次从控制台输入一个猜测的数字。
- 输出格式:如果猜对了,输出
"恭喜你,猜对了!"
;如果没猜对,提示"大了"
或"小了"
,并继续猜。
解题思路
- 生成神秘数字:在1到100之间随机生成一个神秘数字。
- 用户猜测:通过循环不断接收用户的猜测。
- 判断结果:根据用户的输入,提示猜测是否正确,并给出进一步的提示。
- 循环终止:猜对神秘数字后结束循环。
二、Python 实现
import random
# 随机生成1到100之间的神秘数字
secret_number = random.randint(1, 100)
print("请猜一个1到100之间的数字:")
while True:
guess = int(input("你的猜测: "))
if guess == secret_number:
print("恭喜你,猜对了!")
break
elif guess < secret_number:
print("小了")
else:
print("大了")
三、Cangjie 实现
package cjcDemo
import std.console.*
import std.random.*
import std.convert.*
main(): Int64 {
let secret_number = Int64(Random().nextUInt64(100))
println("请猜一个1到100之间的数字:")
while (true) {
print("你的猜测: ")
let guess: Int64 = Int64.parse(Console.stdIn.readln().getOrThrow())
if (guess == secret_number) {
println("恭喜你,猜对了!")
break
} else if (guess < secret_number) {
println("小了")
} else {
println("大了")
}
}
return 0
}
四、图形展示(扩展部分)
以下为扩展内容,使用Python代码生成了一幅图来模拟猜数字游戏的交互过程。本部分是进阶扩展内容,当前阶段不要求理解:
from PIL import Image, ImageDraw, ImageFont
# 创建画布
img = Image.new('RGB', (800, 400), color='white')
draw = ImageDraw.Draw(img)
# 绘制标题
draw.text((10, 10), "Guess the Secret Number", fill="black", align="left")
# 绘制模拟的猜测结果
draw.text((10, 50), "Attempt 1: Guess 50 - Too Low", fill="blue")
draw.text((10, 90), "Attempt 2: Guess 75 - Too High", fill="blue")
draw.text((10, 130), "Attempt 3: Guess 63 - Correct!", fill="green")
# 绘制装饰性的数字和提示框
draw.rectangle([10, 170, 790, 300], outline="black", width=2)
draw.text((20, 180), "Tips: Keep narrowing down your guesses!", fill="black")
# 保存图片
img_path = "guess_game_simulation.png"
img.save(img_path)
print(f"图形已保存到 {img_path}")
生成的图像如下:
五、示例执行
示例 1:
请猜一个1到100之间的数字:
你的猜测: 50
小了
你的猜测: 75
大了
你的猜测: 63
恭喜你,猜对了!
六、小结
这道神秘数字的谜题让学生学会了循环控制和条件判断的使用,锻炼了学生的逻辑推理能力,也展示了如何使用随机数在程序中制造不确定性。
上一篇: 「Mac上学习仓颉39」小学奥数篇2 - 如何分糖果
下一篇: 「Mac上学习仓颉41」小学奥数篇4 - 分数加减法
作者:SoraLuna 链接:https://www.nutpi.net 來源:坚果派 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
00
- 0回答
- 1粉丝
- 0关注
相关话题
- 「Mac玩转仓颉内测版39」小学奥数篇2 - 如何分糖果
- 「Mac玩转仓颉内测版41」小学奥数篇4 - 分数加减法
- 「Mac玩转仓颉内测版42」小学奥数篇5 - 圆和矩形的面积计算
- 「Mac玩转仓颉内测版38」小学奥数篇1 - 如何平分6个苹果和4个橘子
- 「Mac玩转仓颉内测版3」入门篇3 - Cangjie的基本语法与结构
- 「Mac玩转仓颉内测版23」基础篇3 - 深入理解整数类型
- 「Mac玩转仓颉内测版16」PTA刷题篇7 - L1-007 念数字
- 「Mac玩转仓颉内测版12」PTA刷题篇3 - L1-003 个位数统计
- 「Mac玩转仓颉内测版9」入门篇9 - 综合案例篇
- 「Mac玩转仓颉内测版24」基础篇4 - 浮点类型详解
- 「Mac玩转仓颉内测版26」基础篇6 - 字符类型详解
- 「Mac玩转仓颉内测版25」基础篇5 - 布尔类型详解
- 「Mac玩转仓颉内测版29」基础篇9 - 数组类型详解
- 「Mac玩转仓颉内测版28」基础篇8 - 元组类型详解
- 「Mac玩转仓颉内测版30」基础篇10 - 区间类型详解