《Python数学编程》练习-day005:数值输入

《Python数学编程》练习-day005:数值输入

提示→《Python数学编程》练习系列往期笔记:

Day1:《Python数学编程》练习-day001:斐波那契序列
Day2:《Python数学编程》练习-day002:分数操作
Day3:《Python数学编程》练习-day003:基本数学运算
Day4:《Python书序编程》练习-day004:复数


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

文章目录

      • 《Python数学编程》练习-day005:数值输入
      • 前言
      • 一、input()函数
      • 二、int()函数
        • 1.int()函数的用途
        • 2.int()函数与input()函数结合使用
      • 三、float()函数
        • 1.float()函数的用途
        • 2.int()函数与float()函数结合使用
      • 四、Fraction()函数
        • 1.Fraction()函数的用途
        • 2.int()函数与Fraction()函数结合使用
      • 五、complex()函数
        • 1.complex()函数的用途
        • 2.int()函数与complex()函数结合使用
      • 六、try/except模块
      • 总结


前言


当用Python进行数学编程时,使用input()函数接收输入内容,是一种简单且友好的方法,因此本篇笔记以input()函数为主,结合:
int()函数、float()函数、Fraction()函数和complex()函数,学习Python数学编程中数字输入的问题。


一、input()函数

Python3 中 input() 函数接受一个标准输入数据,返回为 string 类型。
注意:详细信息请移步菜鸟教程。

二、int()函数

1.int()函数的用途

Python中的内置函数——int()函数,用于将一个字符串【形式上是整数】或数字转换为整型。

代码如下:

b_str = "1" # 
c_int = 1   # 

b_str2 = int(b_str)
c_int2 = int(c_int) 

print(type(b_str2))
print(type(c_int2))

>>> 
<class 'int'>
<class 'int'>

2.int()函数与input()函数结合使用

input()函数与int()函数结合使用,可以接收输入然后返回一个整型:
代码如下:

b_number = int(input('请输入一个整数:'))
>>> 请输入一个整数:1

再次,强调int()函数无法将浮点数(形式上是浮点数的字符串也不行[例如‘1.0’])转换成整数,程序会报错,例子如下,输入1.0时:

b_number = int(input('请输入一个整数:'))
>>> 
ValueError  Traceback (most recent call last)
<ipython-input-16-2a989f2a4138> in <module>
----> 1 b_number = int(input('请输入一个整数:'))

ValueError: invalid literal for int() with base 10: '1.0'

三、float()函数

1.float()函数的用途

Python中的内置函数——float()函数,float() 函数用于将整数和字符串转换成浮点数。返回:浮点数

代码如下:

b_str3 = float(b_str)
c_int3 = float(c_int) 

print(type(b_str3))
print(type(c_int3))

>>> 
<class 'flaot'>
<class 'float'>

2.int()函数与float()函数结合使用

input()函数与float()函数结合使用,可以接收输入然后返回一个浮点数:
代码如下:

b_number2 = float(input('请输入一个整数:'))
>>> 请输入一个整数:1.0

float()函数可以将整型转化为浮点数,反之不行。


四、Fraction()函数

1.Fraction()函数的用途

fractions 模块支持分数运算。

代码如下:

from fractions import Fraction
Fraction(1,2)

>>> Fraction(1, 2)

分数实例可以由一对整数,一个分数,或者一个字符串构建而成。【此段话来自于Documentation » Python 标准库 » 数字和数学模块 »factions—分数】。

《Python数学编程》练习-day005:数值输入_第1张图片
从上述分数实例的构成可以看出,用Fraction()函数,可实现分数的多种输入方式【但是返回结果,可能不一定符合预期】:

from fractions import Fraction
Fraction('1/2')
>>> Fraction(1, 2)
Fraction('1.1')
>>> Fraction(11, 10)
Fraction()
>>> Fraction(0, 1)

详细的内容,参看:https://docs.python.org/zh-cn/3/library/fractions.html

2.int()函数与Fraction()函数结合使用

input()函数与Fraction()函数结合使用,可以接收输入然后返回一个浮点数【注意使用前要先导入】:
代码如下:

from fractions import Fraction
a_fraction = Fraction(input('输入分数:'))
a_fraction

>>>输入分数:1/8
>>> Fraction(1, 8)

五、complex()函数

1.complex()函数的用途

class complex([real[, imag]])
返回值为 real + imag*1j 的复数,或将字符串或数字转换为复数。如果第一个形参是字符串,则它被解释为一个复数,并且函数调用时必须没有第二个形参。第二个形参不能是字符串。每个实参都可以是任意的数值类型(包括复数)。如果省略了 imag,则默认值为零,构造函数会像 int 和 float 一样进行数值转换。如果两个实参都省略,则返回 0j。
对于一个普通 Python 对象 x,complex(x) 会委托给 x.complex()。 如果 complex() 未定义则将回退至 float()。 如果 float() 未定义则将回退至 index()。
注解:当从字符串转换时,字符串在 + 或 - 的周围必须不能有空格。例如 complex(‘1+2j’) 是合法的,但 complex(‘1 + 2j’) 会触发 ValueError 异常。

2.int()函数与complex()函数结合使用

input()函数与float()函数结合使用,可以接收输入值然后返回一个复数:
代码如下:

b_complex = complex(input('输入复数:'))
b_complex
>>> 输入复数:1+2j
>>> (1+2j)
b_complex = complex(input('输入复数:'))
b_complex

>>> 输入复数:1.1
>>> (1.1+0j)
b_complex = complex(input('输入复数:'))
b_complex
>>> 输入复数:0
>>> 0j

六、try/except模块

异常处理:
捕捉异常可以使用try/except语句。
try/except语句用来检测try语句块中的错误,从而让except语句捕获异常信息并处理。
如果你不想在异常发生时结束你的程序,只需在try里捕获它。

try:
    a = float(input())
except ValueError:
    print('you entered an invalid number')
> 2.2
>>> 2.2
try:
    a = float(input())
except ValueError:
    print('you entered an invalid number')
> 你好
>>> you entered an invalid number

使用try/except进行异常处理时,一旦执行出错,程序输出的是一个Traceback,不至于把程序搞崩溃。

题外知识——Traceback:

该模块提供了一个标准接口来提取、格式化和打印 Python 程序的堆栈跟踪结果。它完全模仿Python 解释器在打印堆栈跟踪结果时的行为。当您想要在程序控制下打印堆栈跟踪结果时,例如在“封装”解释器时,这是非常有用的。


总结

  1. input()函数;
  2. Python数学编程中用到的四种数据输入函数:int()、float()、Fraction()、complex();
  3. try/except程序模块用于异常处理

你可能感兴趣的:(Python数学编程,python)