python - for 和 while 循环使用 break、pass、continue。我不知道下一步该去哪里
问题描述
一般来说,我是 Python 和 Stackoverflow 的新手,如果我的格式很糟糕而且我不擅长英语,我很抱歉。但我被这段代码困住了。
test = True
a = True
total = 0
t = 0
while test:
n = int(input('Width (7-10): '))
if n<7 or n>10:
print('Invalid Number!')
total += 1
if n>=7 and n<=10:
break
while a:
c = int(input('Border (1-3): '))
if c<1 or c>3:
print('Invalid Number!')
t += 1
if c>=1 and c<=3:
break
这就是结果。
Width (7-10): 5
Invalid Number!
Width (7-10): 10
Border (1-3): 0
Invalid Number!
Border (1-3): 2
这就是我想要的结果。
Width (7-10): 5
Invalid Number!
Width (7-10): 10
Border (1-3): 0
Invalid Number!
Border (1-3): 2
**********
**********
** **
** **
** **
** **
** **
** **
**********
**********
我不知道如何制作正方形。
解决方案
这可以通过以下代码实现:
for i in range(n):
if i < c or i >= n-c:
print("*"*n)
else:
print("*"*c + " "*(n-(c*c)) + "*"*c)
这将遍历一个for
循环,其范围是之前输入的宽度(n
在本例中)。通过测试您是否处于第一次/最后几次迭代(由边界确定,或者c
在这种情况下),您可以打印边界。如果没有,您可以使用所需的间距打印必要的星星。
您可以根据需要通过乘以字符串来打印所需数量的星星。
推荐阅读
- c# - InvalidDataException:超过多部分正文长度限制 16384
- python - API 网关主体映射移动?
- jestjs - toEqual 的变体,它使用类属性的方式与使用类方法的方式相同
- php - 当别名域是请求的资源时捕获请求的 URL
- go - 使用事务运行 Go 测试
- c++ - 在运行时访问 C++17 中元组的随机子集
- terraform - 如何让 ECS 服务进行强制重新部署?
- java - 如何使用 Java 在 YouTube Data API v3 中设置 nextPageToken?
- php - 有没有办法对从 MySQL 检索到的特定数据进行样式化?
- ios - 填充单元格后如何在单元格中加载/显示 UIImageView