首页 > 解决方案 > 使用特定字符作为轴拆分字符串/列表

问题描述

抱歉,如果这是重复的,我进行了彻底的搜索,但找不到这个特定问题的答案。

我正在构建一个程序,它将以“XdY”格式(即 4d6、1d20、3d10 等)输入并生成所需的掷骰子。我需要将输入字符串转换为两个单独的值,用于掷骰子的数量和所述骰子的边数。例如,给定

roll = "3d6"

我想结束

number = int("3")
sides = int("6")

我正在设想一种解决方案,它将原始字符串拆分为一个字符串,其中包含“d”左侧的所有内容,一个包含其右侧的所有内容,同时丢弃“d”字符本身。截至目前,我已将程序设置为处理“数字”和“边”值,但前提是它们作为两个单独的整数输入。

标签: pythonstringlistsplit

解决方案


简单的解决方案:

number, sides = map(int, roll.split('d'))

只需将您的roll字符串拆分'd',将获得的字符串转换为数字并将它们分别分配给numbersides


推荐阅读