我试图在Android studio中使用chaquopy使用python脚本。但我有两个问题
python random
李>下面是Python脚本
import random
def getPlayers(wk, batsman, bowler, allRounder):
chosen = batsman[:3] + bowler[:3] + allRounder[:1] + wk[:1]
remainder = batsman[3:] + bowler[3:] + allRounder[1:] + wk[1:]
random.shuffle(remainder)
chosen.extend(remainder[:3])
players = {'Batsman': [x for x in chosen if x in batsman],
'Bowler': [x for x in chosen if x in bowler],
'AllRounder': [x for x in chosen if x in allRounder],
'Wk': [x for x in chosen if x in wk]}
for key in players:
for name in players[key]:
return f'{key}: {name}'
它显示未找到名为random的模块
和活动文件
private String getTeam() {
Python python = Python.getInstance();
PyObject file = python.getModule("getTeam");
return file.callAttr("getPlayers", wk, batsman, bowler, ar);
}
我正在onCreate
中调用getTeam
方法。那么,如何从python
脚本中获取键和值的列表呢
编辑
我使用此代码访问数据,但它显示com.chaquo.python.PyException: TypeError: jarray does not support slice syntax
这是密码
String[] team = getTeam();
for (String s : team) {
Log.d("Player", s);
}
}
private String[] getTeam() {
Python python = Python.getInstance();
PyObject file = python.getModule("getTeam");
return file.callAttr("getPlayers", wk.toArray(), batsman.toArray(), bowler.toArray(), ar.toArray()).toJava(String[].class);
}
我假设您谈论的是Android Studio编辑器中显示的错误,而不是运行时发生的错误。正如the documentation所说,编辑器中的错误是无害的:只要继续运行你的应用程序,如果真的有错误,详细信息将显示在Logcat中
您可以这样编写Python代码:
Java代码如下所示:
这将为您提供一个Java
String[]
数组,然后您可以根据需要对其进行处理为^{编辑 :
这个问题在Chaquopy 9.0.0中得到了修复。对于旧版本,可以通过将数组转换为Python
list
来解决要在Python中转换,请执行以下操作:
或使用Java进行转换:
相关问题 更多 >
编程相关推荐