所以我从Python开始,以为制作一个骰子滚子很有趣。 我创建了这个:
import random
import keyboard
print("Which dice would you like? 6 side or 20 side?")
dice = input()
print("Press the space key to initiate a roll")
while True:
if keyboard.is_pressed(' '):
print(random.randint(0, dice))
现在,我假设在0范围内随机进行一个预先设置的变量(其中有一个数字,而不是null)应该可以工作。我的意思是,它可以在Java和C#中运行,所以为什么不正确呢?
由于某种原因,Python讨厌这个,我调试了它,它死在打印行,并给我这个错误:
Traceback (most recent call last):
File "C:/Users/kiril/PycharmProjects/Practice/main.py", line 8, in <module>
print(random.randint(0, dice))
File "C:\Python\lib\random.py", line 248, in randint
return self.randrange(a, b+1)
TypeError: can only concatenate str (not "int") to str
这是什么问题?它不接受预制变量(我的意思是随机类)吗?难道Python的输入使所有东西都变成了字符串(我不知道这是不是真的,但是嘿,也许只有第二天才使用该语言)? 我该如何解决?
答案 0 :(得分:2)
从input
返回的输入类型为str
只是做:
dice = int(input())
答案 1 :(得分:0)
您的输入函数返回一个string
类型的值。您需要将其转换为int
类型的值。
为此:
dice = int(input())
答案 2 :(得分:0)
dice = int(input())将输入转换为int
答案 3 :(得分:0)
您必须dice=int(input())
这是代码
import random
import keyboard
print("Which dice would you like? 6 side or 20 side?")
dice =int(input())
print("Press the space key to initiate a roll")
while True:
if keyboard.is_pressed(' '):
print(random.randint(0, dice))
尝试一下,它将起作用