关于while循环的一个小问题
这是我写的一个程序temp = input("请输入一个整数:")
#
number = int(temp)
#
word = ("**")
#
while number:
#
j = number-1
#
while j:
#
print(word*number)
#
j = j-1
#
print()
#
number = number-1
#
执行后和我想的不一样,假如输入的数字为5,我认为print(word*number)应该只输出单行5个*,实际输出4行10个*,求大佬解惑 楼主的代码太复杂了,试试这段代码:
temp = input("请输入一个整数:")
number = int(temp)
print(number * "*") # 输出 number 个 * zltzlt 发表于 2019-12-28 11:34
楼主的代码太复杂了,试试这段代码:
多谢回答,我的目的不是输出number个*,我就是想测试一下print(‘word*number’)是否会如我所想的那样输出number个*,但实际结果却是出现number行(number*2)个*,所以就有点不明白了 yjptx121 发表于 2019-12-28 11:42
多谢回答,我的目的不是输出number个*,我就是想测试一下print(‘word*number’)是否会如我所想的那样 ...
你的 word 有两个 "*"。
word = ("**")
试试这段代码:
temp = input("请输入一个整数:")
number = int(temp)
word = "*"
while number:
j = number - 1
while j:
print(word * j)
j = j - 1
print()
number = number - 1 zltzlt 发表于 2019-12-28 11:47
你的 word 有两个 "*"。
word = ("**")
多谢回复,我是否可以这样理解,在while循环里,j=number-1会一直循环,直到while number为false,例如我输入的是5,那么第一次循环就是:当number为真时,执行word*j,然后number-1,第二次循环执行word*(j-1),number-1-1,第三次执行word*(j-1-1),number-1-1-1以此类推,直到number为假,那么执行结果应该是:
****
***
**
*
可现在执行的结果是:
****
***
**
*
***
**
*
**
*
*
这个不是很懂 yjptx121 发表于 2019-12-28 12:04
多谢回复,我是否可以这样理解,在while循环里,j=number-1会一直循环,直到while number为false,例如我 ...
你多了一层循环,其实只要一层 while 循环就足够了:
temp = input("请输入一个整数:")
number = int(temp)
word = "*"
while number:
print(word * number)
number = number - 1 zltzlt 发表于 2019-12-28 12:17
你多了一层循环,其实只要一层 while 循环就足够了:
受教了,谢谢,现在我明白了
页:
[1]