用while循环打印菱形
时间: 2023-10-22 22:23:42 浏览: 38
以下是打印菱形的 Python 代码:
```
n = int(input("请输入菱形大小(奇数):"))
# 打印上半部分
for i in range(1, n+1, 2):
print(" " * ((n-i)//2) + "*" * i)
# 打印下半部分
for i in range(n-2, 0, -2):
print(" " * ((n-i)//2) + "*" * i)
```
代码说明:
1. 首先通过 `input()` 函数获取菱形的大小,这里要求输入的是一个奇数。
2. 然后使用两个 `for` 循环分别打印菱形的上半部分和下半部分。
3. 在上半部分中,使用 `range()` 函数从 1 开始,每次加 2,直到 `n`,并使用 `print()` 函数打印一行星号(`*`)。
注意,每行的星号数量为 `i`,而行首的空格数量为 `(n-i)//2`。
4. 在下半部分中,使用 `range()` 函数从 `n-2` 开始,每次减 2,直到 0,也是打印一行星号。
同样需要在行首打印适当数量的空格。
相关问题
python while循环打印菱形
以下是使用Python编写的打印菱形的代码:
```
n = int(input("请输入菱形的行数:"))
i = 1
while i <= n:
j = 1
while j <= n - i:
print(" ", end="")
j += 1
j = 1
while j <= 2 * i - 1:
print("*", end="")
j += 1
print()
i += 1
i = n - 1
while i >= 1:
j = 1
while j <= n - i:
print(" ", end="")
j += 1
j = 1
while j <= 2 * i - 1:
print("*", end="")
j += 1
print()
i -= 1
```
这个程序会要求用户输入菱形的行数,然后使用两个while循环来打印出菱形。第一个while循环用来打印上半部分的菱形,第二个while循环用来打印下半部分的菱形。在每个while循环中,我们使用另外两个while循环来打印出空格和星号。
Java利用while循环打印菱形
好的,以下是Java利用while循环打印菱形的代码:
```
public class PrintDiamond {
public static void main(String[] args) {
int n = 5; // 菱形的行数
int i = 1; // 行数计数器
int j; // 每行的空格和星号数量计数器
// 打印上半部分
while (i <= n) {
j = 1;
while (j <= n - i) {
System.out.print(" ");
j++;
}
j = 1;
while (j <= 2 * i - 1) {
System.out.print("*");
j++;
}
System.out.println();
i++;
}
// 打印下半部分
i = n - 1;
while (i >= 1) {
j = 1;
while (j <= n - i) {
System.out.print(" ");
j++;
}
j = 1;
while (j <= 2 * i - 1) {
System.out.print("*");
j++;
}
System.out.println();
i--;
}
}
}
```