python - 嵌套for循环中的python数组
问题描述
我正在尝试创建一个运算符,用户在其中输入棋盘上的位置,如果它站在黑色或白色方块上,我的程序将打印出来。问题是我的 if 语句不会正确地通过我的数组。
pos = input (f'Hvilken posisjon står brikken på? ')
bokstav = pos[0]
tall = int(pos[1])
for x in bokstav:
for y in str(tall):
partall_svart = ['b','d','f','h']
partall_hvit = ['a','c','e','g']
print (partall_svart)
print (partall_hvit)
if x == partall_svart and int(y) % 2 == 0:
print (f'Posisjon: {bokstav}{tall}\nSvart')
elif x == partall_svart and int(y) % 2 == 1:
print (f'Posisjon: {bokstav}{tall}\nHvit')
if x == partall_hvit and int(y) % 2 == 0:
print (f'Posisjon: {bokstav}{tall}\nHvit')
elif x == partall_hvit and int(y) % 2 == 1:
print (f'Posisjon: {bokstav}{tall}\nSvart')
解决方案
实际上,您也可以从字母部分制作一个数字,然后%2
在两个部分上使用。由于 ekhumoro 的建议ord()
可能有点深奥,因此此代码find()
改用:
pos = input (f'Hvilken posisjon star brikken pa? ')
bokstav = pos[0]
bokstavtall = "abcdefgh".find(bokstav.lower()) + 1
tall = int(pos[1])
print (f'Posisjon: {bokstav}{tall}\n{"Svart" if tall % 2 == bokstavtall % 2 else "Hvit"}')
推荐阅读
- javascript - 在 GitHub Pages 上更新 React 应用程序的最短路径是什么?
- c++ - 使用附加谓词参数替代 std::set_union 用于合并来自交集的元素
- node.js - 授权。尝试在 Azure 上查询我的 PostgreSQL 时出错
- latex - 如何减少 TikZposter 中 2 个块之间的空间?
- c++ - 写入 WAV 文件 C++
- xml - 完成后将变量保存在 .awk 文件中以供下次运行
- javascript - Apollo 客户端订阅的缓存策略未按预期工作
- deep-learning - 双深度 Q 学习:下一个状态总是错误的
- reactjs - 许多小的 react.CreateElement 对同一文档的性能影响?
- python - calcOpticalFlowFarneback 的结果是否需要在翘曲中进行一些处理?