. 1,定义一个函数,用来绘制爱心,然后调用该函数,绘制一幅包含多个(如由用户输入绘制个数)随机的爱心。提示:随机就是位置随机、角度随机、大小随机
2 编写一个函数,输入4个互不相同的数字(如2,、5、6、9),输出为:由4个数字组成互不相同且无重复数字的三位数的个数为多少?各是多少?要求:4个互不相同是数字由用户输入,首先要先判断用户输入的数据是否是合法数据,即是否是数字,是否各不相同,然后调用函数获得结果。
3.
定义一个函数,读入一个整数N(奇数),输出由星号字符组成的正菱形(参考第2章的随堂练习)。要求:第1行1个星号,第2行3个星号,第3行5个星号,依次类推...第i行画出N个星号,接着第i+1行画出N-2个星号,依次类推...最后一行画出1个星号。如下所示(N=5)。
第二个
def ndf(li,n):
res = [""]
for j,v in enumerate(li):
r = []
for s in res:
if len(s)<n:
for i in range(len(s)+1):
t = s[:i]+v+s[i:]
r.append(t)
if n-len(s)<len(li)-j:
r.append(s)
else:
r.append(s)
res = r
res.sort()
return res
s = ["1","2","3","4"]
arr = ndf(s,3)
for ts in arr:
print(ts)
问题1可以结合for循环执行,一个for是换行(位置随机),里面嵌套一个for执行空格(角度随机)和爱心输出
问题2使用str.isdigit() 所有字符都是数字可以判断是否为数字,写入列表在随机选出三个,最后使用join组合成数字
问题3也是使用for循环(换行),每次循环输入*即可,输出数量结合规律可以得出计算公式
打印菱形,C语言代码,你自己翻译一下:
/*
打印菱形
*/
int line;//行数,单数
int star;//每行的*数量
int space;//每行左边的空格数
int mid;//中间的行号
int i,j;
printf("请输入行数(单数):");
scanf("%d",&line);
mid= line/2+1;
//打印上半部分
for(i=1;i<=mid;i++)
{
star = i*2-1;//第i行的*数
space = (line-star)/2; //第i行左边的空格数
for(j=0;j<space;j++)
{
printf(" ");
}
for(j=1;j<=star;j++)
{
printf("*");
}
printf("\n");//换行
}
//打印下半部分
for(i=mid-1;i>=1;i--)
{
star = i*2-1;//第i行的*数
space = (line-star)/2; //第i行左边的空格数
for(j=0;j<space;j++)
{
printf(" ");
}
for(j=1;j<=star;j++)
{
printf("*");
}
printf("\n");//换行
}
#星号字符组成的正菱形
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)
您好,我是有问必答小助手,你的问题已经有小伙伴为您解答了问题,您看下是否解决了您的问题,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632
非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!
速戳参与调研>>>https://t.csdnimg.cn/Kf0y