Python 3.4.3小行星统计生成器错误

Python 3.4.3小行星统计生成器错误,python,python-3.x,random,syntax,syntax-error,Python,Python 3.x,Random,Syntax,Syntax Error,我正在用python 3.4.3编写一个程序,该程序生成随机小行星统计数据。我希望它生成一个随机的名称、类型和表面重力 示例: MUS-983 A型地面重力:0.31 m/s² 到目前为止,我掌握的代码是: 导入字符串,随机 def picknum: 对于rangenum中的j: print.join[random.choicestring.ascii_大写字母表示范围3中的i]+-+.join[random.choicestring.digits表示范围3中的i]+.join[random.c

我正在用python 3.4.3编写一个程序,该程序生成随机小行星统计数据。我希望它生成一个随机的名称、类型和表面重力

示例:

MUS-983 A型地面重力:0.31 m/s²

到目前为止,我掌握的代码是: 导入字符串,随机 def picknum: 对于rangenum中的j: print.join[random.choicestring.ascii_大写字母表示范围3中的i]+-+.join[random.choicestring.digits表示范围3中的i]+.join[random.choicestring['A Type','B Type','C Type']]+表面重力:+.join[random.randint0.01,0.39]

在我把关于表面引力的部分放在最后之前,它一直运作良好。现在我有几个问题。首先,当我运行程序时,我得到一个错误:

回溯最近一次呼叫上次: 文件,第1行,在 挑选 文件/Users/James/Desktop/Asteroid Name Generator.py,第4行,在pick中 print.join[random.choicestring.ascii_大写表示范围3中的i]+-+.join[random.choicestring.digits表示范围3中的i]+.join[random.choicestring['A Type','B Type','C Type']+.join[random.randint0.01,0.39] 文件/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/random.py,第218行,在randint中 返回self.randrangea,b+1 文件/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/random.py,第182行,在randrange中 randrange的提升值ErrorNon integer arg 1 ValueError:randrange的非整数arg 1

第二个问题是如何将“m/s²”标题整合到随机生成的地面重力小数前面


谢谢大家!

您正在提供random.randint浮点参数。尝试更改:

random.randint(0.01, 0.39)
致:

编辑: 好的,它需要转换回字符串,让我们使用字符串格式使事情变得更漂亮:

"Surface Gravity: %f.2 m/s2"%(float(random.randint(1, 39))/100.0)

我尝试了您的解决方案,但出现了以下错误:回溯最近的调用last:File,第1行,在pick1文件/Users/James/Desktop/Asteroid Name Generator.py,在pick print中的第4行。join[random.choicestring.ascii_大写代表range3中的I]+-+.join[random.choicestring.digits代表range3中的I]+.join[random.choice.choice['A类型小','B类型中','C类型大','D类型大']+.join[floatrandom.randint1,39/100.0]类型错误:序列项0:应为str实例,floatfound@user2368535我更新了我的答案,并使用了一些字符串格式来稍微消除混乱。
"Surface Gravity: %f.2 m/s2"%(float(random.randint(1, 39))/100.0)