作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
第一。我知道现在这看起来很乱,但是将py2.7转换为py 3.5代码时遇到了一个大问题,我还没有清理。继续。我试图将所有值打包成一行。这段代码可以运行,但是效果不如我所愿。我可以输入1-9中任何其他数字的值,这将起作用,但是例如,如果我想掷1d20怎么办?还是10d4?我似乎无法将整数分开。在py2.7和py 3.5中,因为我现在都有一个工作代码,如果我(.split())或(.join(“”))变量我仍然无法获取它来提取整数一起作为“r3d4”行中的单独条目。一旦我输入两位数的数字,它就会因错误“解开太多值”而停顿,或者出现“int base 10”错误。有任何想法吗?我不想将其分为“您想掷多少个骰子?”等。我想要一个干净的单行条目。下面的代码在这里工作:https://www.onlinegdb.com/online_python_interpreter但我不确定它是2.7还是3.5
import random
print("Dice Roller testing")
roll, amount, dice, sides = str(input("Input the format. example: r3d4. rolls 3d4 "))
amount = int(amount)
sides = int(sides)
i = 1
while i <= amount and roll == "r" and sides == 4:
x = random.randint(1, 4)
print(x)
i = (i+1)
while i <= amount and roll == "r" and sides == 6:
x = random.randint(1, 6)
print(x)
i = (i+1)
while i <= amount and roll == "r" and sides == 8:
x = random.randint(1, 8)
print(x)
i = (i+1)
else:
print("We are finished or the input is not valid.")
import random
while True:
user_input = str(input('test: '))
i = 1
roll, sides = user_input.split("d")
sides = int(sides)
x, amount = roll.split("r")
amount = int(amount)
while i <= amount:
n = random.randint(1,sides)
print(n)
i = i+1
最佳答案
用roll作为输入
import re
exp = re.compile('r?(\d{1,2})d(\d{1,2})')
try:
amount, faces = exp.fullmatch(roll).group(1,2)
except AttributeError:
print('bad format')
\d{1,2}
(即
\d{1,3}
)
关于python - 从一个输入解包值以进行整数处理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50452234/
我是一名优秀的程序员,十分优秀!