在 Python 中使用 * 打印 X
Printing a X using * in Python
我必须编写一个 python 程序,允许用户输入大于或等于三的奇数 n。该程序输出一个具有 n 行和 n 列的 x。 *我的教授说使用嵌套 for 循环将是理想的选择。 X 使用 * 的 *
打印
这几天我一直在试验,但收效甚微。
这是我的程序的起始代码,之后就像我的想法一样,它只是空白。如果您能就代码的工作原理提供一些解释,那就太棒了。
num=int(input("Please type in an odd integer."))
if num%2==0:
print("Your number is incorrect")
我给你个提示:
n = int(input("Please type in an odd integer."))
for i in range(n):
print('x', end='')
print()
这会在同一行打印 x, n 次,然后返回到下一行。
我会告诉你如何将同一行打印 n 次。
应该这样做:
Python 2
N = 5
for i in range(N):
for j in range(N):
if (i == j) or ((N - j -1) == i):
print '*',
else:
print ' ',
print ''
Python 3
N = 5
for i in range(N):
for j in range(N):
if (i == j) or ((N - j -1) == i):
print('*', end = '')
else:
print(' ', end = '')
print('')
(感谢 Blckknght 提供 Python 3 知识)
您正在外层循环中遍历所有行,然后是内层循环中的所有列或单元格。 if 子句检查你是否在对角线上。打印语句后的逗号确保您不会在每次打印时都换行。完成该行后,第 3 次打印会为您换行。
如果这对您有帮助/有用;尝试使用相同的方法制作 Y 并在下面的评论中 post 您的代码。这样你可以更多地发展你的理解。
使用单个 for 循环:
for i in range(num):
a = [' '] * num
a[i] = '*'
a[num-i-1] = '*'
print(''.join(a))
使用嵌套 for 循环:
for i in range(num):
s = ''
for j in range(num):
if j in [i, num-i-1]:
s += '*'
else:
s += ' '
print(s)
我必须编写一个 python 程序,允许用户输入大于或等于三的奇数 n。该程序输出一个具有 n 行和 n 列的 x。 *我的教授说使用嵌套 for 循环将是理想的选择。 X 使用 * 的 *
打印这几天我一直在试验,但收效甚微。 这是我的程序的起始代码,之后就像我的想法一样,它只是空白。如果您能就代码的工作原理提供一些解释,那就太棒了。
num=int(input("Please type in an odd integer."))
if num%2==0:
print("Your number is incorrect")
我给你个提示:
n = int(input("Please type in an odd integer."))
for i in range(n):
print('x', end='')
print()
这会在同一行打印 x, n 次,然后返回到下一行。
我会告诉你如何将同一行打印 n 次。
应该这样做:
Python 2
N = 5
for i in range(N):
for j in range(N):
if (i == j) or ((N - j -1) == i):
print '*',
else:
print ' ',
print ''
Python 3
N = 5
for i in range(N):
for j in range(N):
if (i == j) or ((N - j -1) == i):
print('*', end = '')
else:
print(' ', end = '')
print('')
(感谢 Blckknght 提供 Python 3 知识)
您正在外层循环中遍历所有行,然后是内层循环中的所有列或单元格。 if 子句检查你是否在对角线上。打印语句后的逗号确保您不会在每次打印时都换行。完成该行后,第 3 次打印会为您换行。
如果这对您有帮助/有用;尝试使用相同的方法制作 Y 并在下面的评论中 post 您的代码。这样你可以更多地发展你的理解。
使用单个 for 循环:
for i in range(num):
a = [' '] * num
a[i] = '*'
a[num-i-1] = '*'
print(''.join(a))
使用嵌套 for 循环:
for i in range(num):
s = ''
for j in range(num):
if j in [i, num-i-1]:
s += '*'
else:
s += ' '
print(s)