如何纠正生成随机掷骰子的程序

How can I correct the program which generates random dice rolls

提问人:Aarav's LEARNING Videos 提问时间:5/18/2023 最后编辑:halferAarav's LEARNING Videos 更新时间:5/18/2023 访问量:49

问:

def reject():
  print("get out!")
  quit()
import random
print("chooses random dice rolls")
maximumval=int(input("how many dice rolls do you want?"))
if maximumval<0:
   reject()
else:
    counter=1
    while counter<=maximumval:
        counter=str(counter)
        mydict={
      
         }
         
         val=random.randint(1,7)
         val=str(val)
         mydict.update({counter:val})
         val=int(val)
         counter=int(counter)
        counter+=1
    print(mydict)

它在第 17 行给出 parseError

我无法解决它。它说 parseError。

python-3.x 随机 模块 解析错误

评论

0赞 tkausl 5/18/2023
您的缩进已关闭。
0赞 toyota Supra 5/18/2023
这是什么 mydict={ } 它是空字典?
0赞 slothrop 5/18/2023
我无法重现您的“parseError”。有了这个代码,我得到了IndentationError: unexpected indent

答:

0赞 noah1400 5/18/2023 #1

python 中的缩进对于代码块至关重要。似乎您在行 ( ) 和 ( ) 之间的所有行前面都有额外的空格,包括两条边。删除多余的空格,您应该可以开始了。17val=random.randint(1,7)21counter=int(counter)

固定代码:

def reject():
  print("get out!")
  quit()
import random
print("chooses random dice rolls")
maximumval=int(input("how many dice rolls do you want?"))
if maximumval<0:
   reject()
else:
    counter=1
    while counter<=maximumval:
        counter=str(counter)
        mydict={
      
         }
         
        val=random.randint(1,7)
        val=str(val)
        mydict.update({counter:val})
        val=int(val)
        counter=int(counter)
        counter+=1
    print(mydict)

考虑使用具有正确扩展名的 IDE/文本编辑器(如 vscode),这将帮助您识别此类错误。

评论

0赞 John Gordon 5/18/2023
如果问题是缩进,那么错误肯定是,而不是如上所述?IndentationErrorparseError