罗马数字随机发生器错误(chord generator)

大家好,这是我的第一篇文章!

大家好,这是我的第一篇文章!

我正在尝试使用罗马数字编写一个简单的生成器。我的目标是只从列表中打印多达 8 个的随机选择,并在我的列表中添加一些品质。这是我到目前为止所拥有的。

import time
import sys
import random
def print_slow(str):
  for char in str:
    time.sleep(0.03)
    sys.stdout.write(char)
    sys.stdout.flush()
# Welcome to the Chord Generator.
print_slow("Welcome to the Chord Generator.\n")
print_slow("Randomizing chords\n")
print_slow("....................\n")
chords = ["I","i","II","ii","III","iii","IV","iv","V","v","VI","vi","VII","vii"]
random_chord = random.choice(chords)
for chord in chords[0:7]:
  random_chord += chord + " "
random_chord.append("M" or "m" or "M7" or "m7" or "7" or "m7b5" or "dim")
print(random_chord)

我现在的两个问题是:

我一遍又一遍地运行代码,有时不会有任何间距,像这样

IVI I II II III III IV

我得到这个错误试图追加列表:

str 'object 没有属性' append '

我知道我做错了什么,只是不知道是什么,我希望的质量只是随机附加到它选择的任何罗马数字。

0

这里要考虑的几件事:

您总是将列表中相同的前八个在之后添加一个空格。因此,例如,如果随机选择了iii,结果将是iiiI i II ...。唯一的随机部分是这里的第一个。

("M" or "m" ...)语句将始终计算为“M”。要选择随机值,请使用列表和随机选择函数(当然还有+=运算符),就像上面的一样。

你可能想要的是选择一个随机的,然后将另一个随机值从质量列表附加到这个,最后将这个加上一个空格字符附加到输出行(都在for循环)。

本站系公益性非盈利分享网址,本文来自用户投稿,不代表码文网立场,如若转载,请注明出处

(900)
CAP定理-可用性和分区容差
上一篇
如何使用GoogleVisionAPI从服务器扫描驾驶执照条形码
下一篇

相关推荐

发表评论

登录 后才能评论

评论列表(29条)