高级Python代码助手

2024-10-05 14:23:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试完成一个Python代码,它计算每个拍数,如果拍数可以被一个数整除,则放置一个X。你知道吗

示例:

Divisions: 3
Divisible by: 2
Divisible by: 3
Divisible by: 4
Number of beats to print: 10
 1:
 2:X
 3: X
 4:X X
 5:
 6:XX
 7:
 8:X X
 9: X
10:X

你知道2是如何被2整除的,所以它在第一列上打印一个X吗?6可以被2和3整除,所以它在第一列和第二列上打印一个X?我需要帮助:)

这是我目前的代码,有人能帮我完成吗?我想我需要把第二个循环放到另一个循环中,因为我需要循环从1到c的数字,计算每个拍是否可以被每个d整除(列表1中的数字)。我可能需要把循环从1增加到c

我的解决方法:

list1 = []
a = int(input("Divisions: "))
for b in range(1,a+1):
  z = int(input("Divisible by: "))
  list1.append(z)
c = int(input("Number of beats to print: "))
for e in range(1,c+1):
  for d in list1:
    remainder = b%d
    if remainder == 0:
      print(" "+str(e)+":","X")

Tags: ofto代码innumberforinputby
2条回答
list1 = []
a = int(input("Divisions: "))
for b in range(1,a+1):
  z = int(input("Divisible by: "))
  list1.append(z)

c = int(input("Number of beats to print: "))

for e in range(1,c+1):
  print('%3d:'%(e), end='')
  string=''
  for d in list1:
    remainder = e%d
    if remainder == 0:
      string += 'X'
    else:
      string += ' '
  print(string.rstrip())
divs = [int(input('Divisible by: ')) for _ in range(int(input('Divisions: ')))]
for beat in range(1, int(input('Number of beats to print: ')) + 1):
    print '%2d:%s' % (beat, ''.join(
        'X' if (beat % div) == 0 else ' ' for div in divs).rstrip())

使用您提供的测试用例:

Divisions: 3
Divisible by: 2
Divisible by: 3
Divisible by: 4
Number of beats to print: 10
 1:
 2:X
 3: X
 4:X X
 5:
 6:XX
 7:
 8:X X
 9: X
10:X

相关问题 更多 >