RenPy中文空间

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 94|回复: 3

[有回复] 如何在文本中显示一个list中的所有内容?

[复制链接]
发表于 2019-8-30 04:19:19 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

x
比如
mybag = ["苹果","香蕉","西瓜","葡萄"]

人物对话如下:
"小红" "我的包里现在有[mybag]"

实际游戏里面显示的是一堆u开头的乱码

大概就像↓
小红:
我的包里现在有[u'\urorg\ure3h……]

如果指定list中的相应位置倒是没问题

"小红" "我的包里现在有[mybag[0]]、[mybag[1]]、[mybag[2]]"


"小红" "我的包里现在有苹果、香蕉、西瓜"

但是背包里的数量肯定不会固定的啊
 楼主| 发表于 2019-8-30 04:42:38 | 显示全部楼层
自己好像找到一个办法……

python:
    bag = str(mybag).replace('u\'','')
    bag = bag.replace("'",'')
    bag = bag.replace("[",'')
    bag =bag.replace("]",'')
    bag = bag.encode('utf-8').decode('unicode_escape')

"小红" "我的包里现在有[bag]"

就可以成为显示为

"小红" "我的包里现在有苹果,香蕉,西瓜,葡萄"

虽然看起来有点累赘,我都是依葫芦画瓢的,不知道那几个replace可不可以组合到一起看起来舒服点,不过这个方法还是蛮简单
回复 支持 1 反对 0

使用道具 举报

发表于 2019-8-30 14:44:09 | 显示全部楼层
本帖最后由 老司机飞飞飞 于 2019-8-30 15:00 编辑

[RenPy] 纯文本查看 复制代码
init python:
    name_list = ["苹果","香蕉","西红柿"]

    ls1 = ['a', 1, 'b', 2]
    ls3 = ','.join([str(i) for i in ls1])
    
    def aa(list):
        ls = ','.join([str(i) for i in list])
        return ls

label start():
    "aaaa"
    $ aa = aa(name_list)
    "[aa]"
    "[ls3]"
    "bbb"
https://www.runoob.com/python/att-string-join.html
回复 支持 反对

使用道具 举报

发表于 2019-8-30 20:07:47 | 显示全部楼层
这样可以吗,我没试
[RenPy] 纯文本查看 复制代码
a=""
for i in mybag:
    a+=i

然后把a变量插值即可
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|RenPy中文空间 ( 苏ICP备17067825号 | 苏公网安备 32092302000068号 )

GMT+8, 2019-11-15 20:50 , Processed in 0.067821 second(s), 25 queries , File On.

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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