鱼C论坛

 找回密码
 立即注册
查看: 1175|回复: 3

[已解决]读取输入值为什么会变?

[复制链接]
发表于 2023-11-23 15:44:40 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
1700725210633.png 1700725281090.png

在写马踏棋盘的程序时,我一开始设了一个键盘输入起始位置,运行时发现结果不正确。临时插入输出,发现键盘输入的起始位置a0和b0居然一直是50和52,但是我没有输入这两个值呀。请教这是什么原因。
最佳答案
2023-11-23 15:45:17
在编程中,读取输入值的方式有很多种。如果你是使用 `input()` 函数来读取键盘输入的值,那么输入的值会被当作字符串进行处理。

根据你提供的信息,起始位置 a0 和 b0 的值是 50 和 52,这其实是对应字符 '2' 和 '4' 的 ASCII 码值。所以很可能是你之前输入了字符 '2' 和 '4',但是没有按下回车键来确认输入。

为了解决这个问题,你可以尝试在输入的地方加上适当的提示信息,并且使用 `int()` 函数将输入的字符串转换为整数。

下面是一个示例代码:
a0 = int(input("请输入起始位置的行号:"))b0 = int(input("请输入起始位置的列号:"))print("起始位置为:", a0, b0)# 后续逻辑处理
在这个示例中,我们加入了提示信息,让用户明确需要输入的内容,然后使用 `int()` 函数将输入的字符串转换为整数。这样就能正确读取用户输入的起始位置了。
以上回复来自 -- ChatGPT(FishC官方接口),如未能正确解答您的问题,请继续追问。

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-11-23 15:45:17 | 显示全部楼层    本楼为最佳答案   
在编程中,读取输入值的方式有很多种。如果你是使用 `input()` 函数来读取键盘输入的值,那么输入的值会被当作字符串进行处理。

根据你提供的信息,起始位置 a0 和 b0 的值是 50 和 52,这其实是对应字符 '2' 和 '4' 的 ASCII 码值。所以很可能是你之前输入了字符 '2' 和 '4',但是没有按下回车键来确认输入。

为了解决这个问题,你可以尝试在输入的地方加上适当的提示信息,并且使用 `int()` 函数将输入的字符串转换为整数。

下面是一个示例代码:
a0 = int(input("请输入起始位置的行号:"))b0 = int(input("请输入起始位置的列号:"))print("起始位置为:", a0, b0)# 后续逻辑处理
在这个示例中,我们加入了提示信息,让用户明确需要输入的内容,然后使用 `int()` 函数将输入的字符串转换为整数。这样就能正确读取用户输入的起始位置了。
以上回复来自 -- ChatGPT(FishC官方接口),如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 0 反对 1

使用道具 举报

发表于 2023-11-23 16:21:30 | 显示全部楼层
把%d换成%c就能输出你想要的值了,%d是输出了它们的ascii码值
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-11-23 16:30:56 | 显示全部楼层
isdkz 发表于 2023-11-23 16:21
把%d换成%c就能输出你想要的值了,%d是输出了它们的ascii码值

哥们,事实确实如你说的一样。读取出来的是ASCII值。但是我想要的是用于作为数组下标的位置,对外是棋盘上的一个格子位置,在程序里是一个数组的值。而这段程序里运行的结果,一直是在chass【50】【52】位置进行运行。你的回答只是让我知道了怎么显示为数字,并不能对下面程序起作用。但是上面一位小甲鱼的GPT的回答对我是有用的。还是要谢谢你。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-23 12:53

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表