大学生python题库 改错_python习题错误整理(一)

本文通过实例展示了如何使用Python进行格式化输出,包括创建表格样式的数据展示,并探讨了在编程过程中常见的错误及其解决方案,如变量覆盖问题。通过方法二的改进,实现了符合要求的表格打印,并解释了格式化字符串的使用,如%d用于整数输出。此外,文章还指出了错误的编程思路,即在循环中将所有输出赋值给同一变量导致的错误。
摘要由CSDN通过智能技术生成

题目:

编写程序显示下面的表格:

a      a^2     a^3

1         1        1

2         4        8

3         9        27

4        16       64

方法一:

In [1]: a = [1,2,3,4]

In [2]: for x ina:

...:print(x,x*x,x*x*x)

...:1 1 1

2 4 8

3 9 27

4 16 64

这种方法能输出结果,但显示的方式与要求并不一致。

方法二:

In [104]: def print_table(a):

...: for x in range(1,a):

...: print(str("%-3d,%-3d,%-3d" % (x,x*x,x*x*x)).replace(',',''))

...:

In [105]: print_table(5)

1 1 1

2 4 8

3 9 27

4 16 64

这种方法提升了代码的使用性,并实现了格式的对照要求。

知识补充》提示符:

格式符为真实值预留位置,并控制显示的格式。格式符可以包含有一个类型码,用以控制显示的类型,如下:

%s    字符串 (采用str()的显示)

%r    字符串 (采用repr()的显示)

%c    单个字符

%b    二进制整数

%d    十进制整数

%i    十进制整数

%o    八进制整数

%x    十六进制整数

%e    指数 (基底写为e)

%E    指数 (基底写为E)

%f    浮点数

%F    浮点数,与上相同

%g    指数(e)或浮点数 (根据显示长度)

%G    指数(E)或浮点数 (根据显示长度)

%%    字符"%"

写这道题时,出现了以下几种错误的解题思路:

错误:

In [77]: defprint_table(a):

...:for x in range(1,a):

...: num= "%d,%d,%d" % (x,x*x,x*x*x)

...:print(num)

...:

...:

In [78]: print_table(4)3,9,27

错误之处在于,将for循环输出的值在循环内部赋值给一个变量,这使得每次循环,变量的值都会被最后一次循环的值所覆盖。

并且题目要求每一行的值都被打印出来,故应该在循环内部使用print打印出结果。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值