《Python数学编程》练习-day007:编写一个计算程序(2)


提示:菜鸟一枚,此系列文主要是用于我自己的学习记录,如果能对您有帮助,我荣幸至极。


文章目录

  • 《Python数学编程》练习-day007:编写一个计算程序(2)
  • 前言
  • 一、第二个数学计算程序:生成乘法表
  • 二、程序
  • 1.生成乘法表的程序:
  • 2.程序分析
  • 总结



前言

在第一个计算整数因子程序基础上,学习生成乘法表,巩固和加深理解float.is_integer()的用法,以及学习新的函数——format()。


提示:以下是本篇文章正文内容,下面案例可供参考。

一、第二个数学计算程序:生成乘法表

什么是因子?
当非零整数a除另一个整数b,余数为0时,a称为b的因子。

(以此定义进行程序编写)

二、程序

1.生成乘法表的程序:

代码如下:

def multi_table(a):
    for i in range(1, a+1):
        print('{0} x {1} = {2}'.format(a, i, a*i))

if __name__ == '__main__':
    a = float(input('Enter a number:'))

    # 主要利用float的is_integer()属性,检查输入的是否是整数
    if a > 0 and a.is_integer(): 
        multi_table(int(a))
    else:
        print('please enter a positive integer')

运行:
Enter a number:10
结果:

>>> 
Enter a number:10
10 x 1 = 10
10 x 2 = 20
10 x 3 = 30
10 x 4 = 40
10 x 5 = 50
10 x 6 = 60
10 x 7 = 70
10 x 8 = 80
10 x 9 = 90
10 x 10 = 100

2.程序分析

‘’代码1‘’:

def multi_table(a):
    for i in range(1, a+1):
        print('{0} x {1} = {2}'.format(a, i, a*i))

‘’代码 1‘ ’这部分代码中multi_table()函数定义了一个for循环,该循环使用range()函数对1和输入的整数之间的每个整数迭代一次,然后输出的结果使用print()进行结果输出。

这块代码中的forma()函数时今天学习的重点:
1.format()函数:

Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能。
基本语法是通过 {} 和 : 来代替以前的 % 。
format 函数可以接受不限个参数,位置可以不按顺序。

详见,Python format 格式化函数及string — 常见的字符串操作 这里要注意:使用format()时,占位符的数量(或键入值)的数量必须相等。

‘’代码2‘’:

if __name__ == '__main__':
    a = float(input('Enter a number:'))

    # 主要利用float的is_integer()属性,检查输入的是否是整数
    if a > 0 and a.is_integer(): 
        multi_table(int(a))
    else:
        print('please enter a positive integer')

‘’代码 2‘ ’这部分主要的作用是检查输入的有效性——输入的是否是整数,来避免无效输入,用到的主要函数是float的 is_integer() 方法 来判断输入的是否是整数,然后利用float()函数(把字符串或整数转换成浮点数),然后利用int()函数把数字转换成整数。

P.S.这个有一个很有意思的问题,就是int()可以把浮点型的整数转换成整型。 关于这个问题,我后期会继续找答案。



总结


1.生成乘法表
2.format()函数
3字符串操作