顶级太阳 发表于 2023-11-23 15:44:40

读取输入值为什么会变?



在写马踏棋盘的程序时,我一开始设了一个键盘输入起始位置,运行时发现结果不正确。临时插入输出,发现键盘输入的起始位置a0和b0居然一直是50和52,但是我没有输入这两个值呀。请教这是什么原因。

FishC_GPT 发表于 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官方接口),如未能正确解答您的问题,请继续追问。

isdkz 发表于 2023-11-23 16:21:30

把%d换成%c就能输出你想要的值了,%d是输出了它们的ascii码值

顶级太阳 发表于 2023-11-23 16:30:56

isdkz 发表于 2023-11-23 16:21
把%d换成%c就能输出你想要的值了,%d是输出了它们的ascii码值

哥们,事实确实如你说的一样。读取出来的是ASCII值。但是我想要的是用于作为数组下标的位置,对外是棋盘上的一个格子位置,在程序里是一个数组的值。而这段程序里运行的结果,一直是在chass【50】【52】位置进行运行。你的回答只是让我知道了怎么显示为数字,并不能对下面程序起作用。但是上面一位小甲鱼的GPT的回答对我是有用的。还是要谢谢你。
页: [1]
查看完整版本: 读取输入值为什么会变?