|
本帖最后由 Unique 于 2021-3-23 18:46 编辑
代码如下:----------
def print_box(width, height, mark):
for n in range(1,height + 1):
print(mark * width)
def read_input(string):
user_input = True
while user_input:
if int(input(string)) > 0:
user_input = False
return int(input(string))
def main():
width = read_input("Enter the width of a frame: ")
height = read_input("Enter the height of a frame: ")
mark = input("Enter a print mark: ")
print()
print_box(width, height, mark)
if __name__ == "__main__":
main()
目前方程和格式我不想做变动,期待结果:
Enter the width of a frame: -1
Enter the width of a frame: 0
Enter the width of a frame: -4
Enter the width of a frame: 4
Enter the height of a frame: -1
Enter the height of a frame: 0
Enter the height of a frame: 2
Enter a print mark: #
####
####
我的结果:
Enter the width of a frame: -1
Enter the width of a frame: 2
Enter the width of a frame: 3
Enter the height of a frame: 0
Enter the height of a frame: 8
Enter the height of a frame: 4
Enter a print mark: #
###
###
###
###
请帮忙看看,问题出在哪儿?为什么我的代码只读取第二个正数,而非第一个出现的正数?如何改进呢?非常感谢!!!
|
|