小白Python练习册(9)【鱼币福利】
今天又是我老王来出题{:10_332:}今天没什么可说的~~
直接上题{:10_275:}
询问玩家要打印几层的菱形
回复查看参考答案啊{:10_323:} :
**** Hidden Message *****
如果喜欢,别忘了评分订阅哟(传送门)!{:9_227:}
沙发 本帖最后由 冰河星云 于 2020-4-29 08:58 编辑
我来了
a = int(input('请输入要打印的层数:'))
for i in range(a-1):
print(int(a-i-1) * ' ',((i+1)*2-1) * '*')
for i in range(1,a+1):
print((i-1)*' ',((a-i)*2+1) * '*')
input()
冰河星云 发表于 2020-4-29 08:55
占
占楼 本帖最后由 March2615 于 2020-4-29 09:15 编辑
n = eval(input('enter row number:'))
n_list = +
for i in range(2 * n - 1):
print(('*' * n_list).center(2 * n - 1, ' '))
我想要鱼币 Mike_Python0721 发表于 2020-4-29 08:56
我想要鱼币
不是给你了么?{:10_272:}
别忘了答题啊! 本帖最后由 wuqramy 于 2020-4-29 09:27 编辑
思路纯巧合
num = int(input('Input a num:'))
for index in range(num - 1):
print(int(num - index - 1) * ' ' + ((index + 1) * 2 - 1) * '*')
for index in range(1,num + 1):
print((index - 1)*' ' + ((num - index) * 2 + 1) * '*') WangJS 发表于 2020-4-29 08:58
不是给你了么?
别忘了答题啊!
简易不公布答案
设个悬赏 a = int(input('请输入要打印的层数:'))
for i in range(a-1):
print(int(a-i-1) * ' ',((i+1)*2-1) * '*')
for i in range(1,a+1):
print((i-1)*' ',((a-i)*2+1) * '*')
input()
建议设个悬赏 本帖最后由 Twilight6 于 2020-4-29 09:45 编辑
def func(x):
for i in range(1, x + 1):
print(' ' * (x - i), '*' * i, '*' * (i - 1))
for i in range(x - 1, 0, -1):
print(' ' * (x - i), '*' * i, '*' * (i - 1))
func(10)
再来一个
x = int(input("请输入要打印的层数:"))
a =
a=list(a[::-1])
for i in a:
print(' '*((2*x)-(a.index(i))),'*'*i) 看着感觉有点懵……没有思路 本帖最后由 Hello. 于 2020-4-29 09:44 编辑
你们都用Python,我来换个语言{:10_256:}
import java.util.Scanner;
public class Exercise {
public static void main(String[] args)
{
System.out.println("输入行数:");
Scanner in = new Scanner(System.in);
int a =(in.nextInt()+1)/2;
for (int b = 1; b <= a; b++)
{
for (int c = b ; c < a ; c++)
{
System.out.print(" ");
}
for (int d = 1; d <= 2 * b - 1; d++)
{
System.out.print("*");
}
System.out.println();
}
for (int b = a - 1; b >= 1; b--)
{
for (int c = 1; c <= a - i; c++)
{
System.out.print(" ");
}
for (int d = 2 * b - 1; d > 0; d--)
{
System.out.print("*");
}
System.out.println();
}
}
}
本帖最后由 liuzhengyuan 于 2020-4-29 11:44 编辑
>>> def e9(s):
layer = int(s)
for i in range(1, layer):
print(' ' * (layer - i), end = '')
print('*' * i, end = '')
print('*' * (i - 1))
for j in range(layer):
print(' ' * j, end = '')
print('*' * (layer - j), end = '')
print('*' * (layer - j - 1))
>>> e9(4) 本帖最后由 sunrise085 于 2020-4-29 09:12 编辑
while True:
temp=input("请输入要打印的层数:\n")
try:
num=int(temp)
break
except:
print("输入错误,您输入的不是整数!")
for i in range(num*2-1):
print(' '*(abs(num-i-1)),end='')
print('*'*(2*(num-abs(num-i-1))-1))
去掉输入异常判断后就4行代码
num=int(input("请输入要打印的层数:\n"))
for i in range(num*2-1):
print(' '*(abs(num-i-1)),end='')
print('*'*(2*(num-abs(num-i-1))-1)) 本帖最后由 qiuyouzhi 于 2020-4-29 09:34 编辑
result =
for each in result:
print(' ' * (((result[-1] - each) // 2)+1) + '*' * each)
for each in result[:-1][::-1]:
print(' ' * (((result[-1] - each) // 2)+1) + '*' * each)
压缩.. 占楼 wuqramy 发表于 2020-4-29 09:02
好简洁 ..{:10_266:} Hello. 发表于 2020-4-29 09:19
好简洁 ..
{:10_335:} n = eval(input('enter row number:'))
for i in range(2 * n - 1):
print(('*' * (2 * i + 1)).center(2 * n - 1, ' ') if i < n else ('*' * (4 * n - 2 * i - 3)).center(2 * n - 1, ' '))