python生成金字塔
作者&投稿:淳豪 (若有异议请与网页底部的电邮联系)
本文将介绍三种使用python实现生成金字塔的方法,文末归纳了知识点。
本方法使用print打印出每一个字符,通过for循环计算每一次需要输出的空格和星号。
print语句中,end=''表示不换行。
本方法利用了一个有趣的规律:
在程序中表达为 m += pow(10,i) ,即 m = m + pow(10,i) ,例如:
通过运行我们发现输出数字的时候,由于每行数字是一次性输出,而非每个数字输出一次,相比方法一效率有了提升。
pow(10,i) 表示 10 i 。
本方法在方法二的基础上再次改进空格的输出方式,print(b*a)语句中,a表示输出的次数。
当我把层数n设置为100的时候,发生了壮观的一幕,感兴趣的朋友欢迎自己试试。
文中同时使用了 range 数列,range[10] 表示:0 ,1 ,2 ,3 ,4 ,5 ,6 ,7 ,8 ,9 。
以下是 print() 方法的语法:
参数
pow() 方法返回 x y (x的y次方) 的值。语法为:
参考文献:
[1] Python for 循环语句
[2] Python print() 函数
[3] Python pow() 函数
[4] Number Pyramid
王固三七: 可以直接在Emacs中打开Shell然后运行Python,也可以安装ipython模式的插件,后者好一点,顺便增强了原来的python模式的功能.
秀屿区17633314107: python的一个数字金字塔问题 - ?
王固三七: func CaculateSpaces(n int) string {str := ""for i := 0; i < n; i++ {str += " "}return str } func main() {var n int = 6for i := 1; i <= n; i++ {fmt.Print(CaculateSpaces(n - i))for count := 1; count <= i; count++ {fmt.Printf("%d ", count)}fmt.Println("") //change print line} }
秀屿区17633314107: Python打印杨辉三角(金字塔形状) 要求是先用二维列表储存,再打印二维列表, 谢谢了 - ?
王固三七: def triangles(n): L = [[1], [1, 1]] for i in range(3, n + 1): li = [0 for n in range(i)] L.append(li) for k in range(1, i - 1): L[i - 1][0] = L[i - 1][i - 1] = 1 L[i - 1][k] = L[i - 2][k - 1] + L[i - 2][k] for m in L: print(m) triangles(10)
秀屿区17633314107: 要求定义并调用函数pyramid(n)输出n行数字金字塔,函数形参n的类型是int,函数类型是void. - ?
王固三七: #include <stdio.h> int main(void) {int n;int repeat, ri;void pyramid(int n); scanf("%d", &repeat);for(ri = 1; ri <= repeat; ri++){scanf("%d", &n); pyramid(n);}}void pyramid(int n) {int i,j,k;for(i=1;i<=n;i++){for(j=1;j<=n-i;j++)printf(" ");...
秀屿区17633314107: python gdal处理瓦片金字塔吗 - ?
王固三七: 这些丰富的地理编码器在geopy.geocoders模块下面,它提供各个地理定位服务的API类.每个地理编码器至少定义了一个geocode方法,用于将字符串转换为地理位置;也定义了一个reverse方法,用于将地理坐标转换为具体地址.每个地理编码器需要接受认证和设置才能使用它的服务,例如:在初始化时,需要一个API key或者locale.
秀屿区17633314107: for循环输出数字金字塔 - ?
王固三七: 我是这样想的,由输入的数字(num)决定输出几行,然后根据输到了第几行(row)来决定输出多少个空格(就是从第几个位置开始输出1),即为第num-row个位置,再从1开始输出到row,再从row-1输出到1,然后换行…… 程序如下:#...
秀屿区17633314107: matlab生成金字塔矩阵 - ?
王固三七: a=[] for i=1:n%此处n赋值即可,如n=100 for j=1:n if(i==j) a(i,j)=4 end if(i==(j+1)) a(i,j)=1 end if(i==(j-1)) a(i,j)=-2 end end end a程序已运行验证,请放心使用
秀屿区17633314107: 使用循环结构输出以下形式的金字塔图案 * - ?
王固三七: #include<stdio.h> main() {int i,j; for(i=1;i<=4;i++) {for(j=1;j<=4-i;j++) printf(" "); for(j=1;j<=2*i-1;j++) printf("*"); printf("\n"); } } 填2*i-1
秀屿区17633314107: 用JAVA编写金字塔 - ?
王固三七: public class wode { public static void main(String[] args) {char[][] a = { { 'A' }, { 'B', 'B', }, { 'C', 'C', 'C', 'C' },{ 'D', 'D', 'D', 'D', 'D', 'D' } };for (int i = 0; i < a.length; i++) {for (int k = a.length - i; k > 0; k--)System.out.print(" ");for (int j = 0; j < a[i].length; ...
秀屿区17633314107: 编写一个函数,其功能是输出数字金字塔,要求用递归方法来解决. - ?
王固三七: #include int N; void py( int n ) {if ( n > 0){int i;py( n-1 ); //先输出前边的数for(i=0;i printf(" ");for(i=1;i printf("%d",i );for(;i>=1;i-- )printf("%d",i ); //n到1printf("\n"); //换行} }int main() {printf("input N :");scanf("%d", &N );py( N );return 0; }