类型转换与用户输入

翻译自:https://www.pythontutorial.net/python-basics/python-type-conversion/

Python 中类型转换的介绍

要获取用户的输入,可以使用该input()函数。例如:

value = input('Enter a value:')
print(value)

当你执行此代码时,它会提示你在终端上输入:

Enter a value:

如果你输入一个值,例如一个数字,程序将显示该值:

Enter a value:100
100

但是,该input()函数返回一个字符串,而不是整数。

以下示例提示您输入两个输入值:净价和税率。之后,它会计算税额并在屏幕上显示结果:

price = input('Enter the price ($):')
tax = input('Enter the tax rate (%):')

tax_amount = price * tax / 100

print(f'The tax amount price is ${tax_amount}')

当你执行程序并输入一些数字时:

Enter the price ($):100
Enter the tax rate (%):10

…您将收到以下错误:

Traceback (most recent call last):
File "main.py", line 4, in <module>
tax_amount = price * tax / 100
TypeError: can't multiply sequence by non-int of type 'str'

由于输入值是字符串,因此无法应用乘法运算符。

为了解决这个问题,您需要在执行计算之前将字符串转换为数字。

要将字符串转换为数字,请使用该int()函数。更准确地说,该int()函数将字符串转换为整数。

以下示例使用int()函数将输入的字符串转换为数字:

price = input('Enter the price ($):')
tax = input('Enter the tax rate (%):')

tax_amount = int(price) * int(tax) / 100
print(f'The tax amount is ${tax_amount}')

如果你运行该程序并输入一些值,你会看到它正常运行:


Enter the price ($):
100
Enter the tax rate (%):
10
The tax amount is $10.0

其他类型转换函数

除了上述int(str)函数之外,Python 还支持其他类型转换函数。下面列出了目前最重要的几个:

  • float(str)– 将字符串转换为浮点数。
  • bool(val)– 将值转换为布尔值,可以是TrueFalse
  • str(val)– 返回值的字符串表示形式。

获取值的类型

要获取值的类型,请使用函数type(value)。例如:

>>> type(100)
<class 'int'>
>>> type(2.0)
<class 'float'>
>>> type('Hello')
<class 'str'>
>>> type(True)
<class 'bool'>

从输出中可以清楚看到:

  • 该数字100的类型为int
  • 该数字2.0的类型为float
  • 该字符串'Hello'的类型为str
  • 并且该True值具有 的类型bool

在每个类型前面,你会看到class关键字。目前它并不重要。稍后你将了解有关该类的更多信息。

动手实践

从控制台输入两个数字x和y,计算\( x^y \),并打印出来

0 0 投票数
文章评分
订阅评论
提醒
guest
0 评论
内联反馈
查看所有评论
0
希望看到您的想法,请您发表评论x