Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在使用end='时交替打印两个不同的字符串';?_Python_Python 3.x - Fatal编程技术网

Python 如何在使用end='时交替打印两个不同的字符串';?

Python 如何在使用end='时交替打印两个不同的字符串';?,python,python-3.x,Python,Python 3.x,我试图交替打印这两个字符串,但如果不使用end='',就无法找到绕过它的方法。我尝试使用尽可能少的字符串,我的目标是只使用2个字符串 num_of_stars = int(input("How many stars would you like on each line?: ")) lines1 = 0 lines2 = 0 alternator = 0 def line1(num_of_stars): for i in range(num_of_stars): pri

我试图交替打印这两个字符串,但如果不使用end='',就无法找到绕过它的方法。我尝试使用尽可能少的字符串,我的目标是只使用2个字符串

num_of_stars = int(input("How many stars would you like on each line?: 
"))
lines1 = 0
lines2 = 0
alternator = 0
def line1(num_of_stars):
    for i in range(num_of_stars):
        print("*", end=' ')
def line2(num_of_stars):
    for i in range(num_of_stars):
        print(" *", end='')
while lines1 <= 4 and lines2 <= 4:
    if alternator == 0:
        line1(num_of_stars)
        lines1 += 1
        alternator = 1
    elif alternator == 1:
        line2(num_of_stars)
        lines2 += 1
        alternator = 0
num\u of\u stars=int(输入(“您希望每行有多少颗星?”
"))
行1=0
lines2=0
交流发电机=0
def line1(星星数):
对于范围内的i(星星数):
打印(“*”,结束=“”)
def line2(星星数):
对于范围内的i(星星数):
打印(“*”,结束=“”)

而lines1不清楚您想要什么。 但是您可能不想使用
print(…,end=…)
技术 显示在您的代码中

分配会简单得多

stars = ['*'] * num_of_stars
line = ' '.join(stars)
然后

for i in range(4):
    indent = ' '[:i % 2]
    print(indent + line)
缩进
字符串将为空或空白,
根据i是偶数还是奇数而定。

首先,第2行函数的末尾只是一个空白,这解释了为什么有两颗星按间隔组合在一起。 试试这个:

num_of_stars = int(input("How many stars would you like on each line?: "))
lines1 = 0
lines2 = 0
alternator = 0
def line1(num_of_stars):
    for i in range(num_of_stars):
        print("*", end="")
    print("\n")
def line2(num_of_stars):
    for i in range(num_of_stars):
        print("*", end="")
    print("\n")
while lines1 <= 4 and lines2 <= 4:
    if alternator == 0:
        line1(num_of_stars)
        lines1 += 1
        alternator = 1
    elif alternator == 1:
        line2(num_of_stars)
        lines2 += 1
        alternator = 0
num_of_stars=int(输入(“您希望每行有多少颗星?:”)
行1=0
lines2=0
交流发电机=0
def line1(星星数):
对于范围内的i(星星数):
打印(“*”,end=“”)
打印(“\n”)
def line2(星星数):
对于范围内的i(星星数):
打印(“*”,end=“”)
打印(“\n”)

谢谢你!如果没有太多问题的话,你能让我看看缩进变量吗?我很难理解它是怎么做到的。很抱歉,如果这很明显,我是初学者。
I
将接受值[0,1,2,3]。让我们分别计算模2的
i
。这些值是偶数,奇数,偶数,奇数,所以我们得到[0,1,0,1]。现在考虑一个字符串空白,它是一个空白。如果我们从中取零个字符,我们什么也得不到,我们得到的是空字符串。如果我们的切片从中取出一个字符,我们得到一个空白。因此,
indent
始终为空。它可以方便地让我们显示一组与左边距齐平的星星,或者偏移一个。