Python用户输入和数值类型的转换

1.input()函数

message = input("Tell me something, and I will repeat it back to you: ")  # 括号内的是提示内容, 运行程序后会在屏幕上显示
print(message)

运行程序, input()可以接受一个值传递给前面的变量
请注意, 不管你输入的是什么Python都默认传递的值是字符串类型
有时候, 提示内容可能过长不宜在input()的括号内显示, 可以先赋给一个变量, 比如下面的例子

prompt = "If you tell us who you are, we can personalize the messages you see."
prompt += "\nWhat is your first name? "
name = input(prompt)
print(f'\nHello, {name}')

2. 使用eval()方法改变输入值得数据类型

因为input()默认传递的值都是字符串类型, 使用eval()可以自动识别输入的值并转换成合适的类型

data = eval(input("你输一个数据我把他变成合适的类型"))
print(type(data))  # type()用于检查数据的类型, 比如我输入2.5, 结果为<class 'float'>

当然也可以手动调整值的类型

num1 = input("请输入一个数字")
# 1.input的内容都以字符串的形式转给变量
print((type(num1)))

# 2.int()转换成整型
print(type(int(num1)))

# 3.float()转换成浮点型
print(type(float(num1)))

# 4.list()转换列表类型
str_1 = '[1, 2, 3]'
print(type(list(str_1)))

# 5.tuple()转换元组类型
str_2 = '(1, 2, 3, 4)'
print(type(tuple(str_2)))
print((type(tuple(str_1))))
print(str_1)
print(str_2)

# 6.eval()自动识别并转换对应的类型
num2 = '2'
num3 = '3.0'
str_3 = '[1, 2, 3, 4, 5, 6]'
str_4 = '(1, 2, 3, 4, 5)'
print(eval(num2))
print(eval(num3))
print(eval(str_3))
print(eval(str_4))
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python中,Tkinter是一个常用的GUI工具包,它提供了一组用于创建GUI应用程序的Python接口。如果你想让用户输入数值,可以使用Tkinter的Entry小部件来实现。以下是一个简单的例子: ``` python import tkinter as tk root = tk.Tk() # 创建一个标签 tk.Label(root, text="请输入一个数字:").grid(row=0) # 创建一个输入框 entry = tk.Entry(root) entry.grid(row=0, column=1) def get_value(): # 获取输入框中的 value = entry.get() print("您输入的数字是:", value) # 创建一个按钮 tk.Button(root, text="确认", command=get_value).grid(row=1, column=1) root.mainloop() ``` 在这个例子中,我们首先创建了一个标签和一个输入框,然后创建了一个名为`get_value`的函数,用于获取输入框中的,并将其打印出来。最后,我们创建了一个按钮,当用户点击该按钮时,将调用`get_value`函数。 如果你需要限制用户输入的内容类型为数字,可以在获取输入框中的之前进行一些验证或转换。例如,使用以下代码将用户输入的内容转换为浮点数: ``` python def get_value(): # 获取输入框中的 value = entry.get() try: value = float(value) print("您输入的数字是:", value) except ValueError: print("请输入数字!") ``` 此代码使用`float`函数将用户输入转换为浮点数,并使用`try-except`语句来捕获可能发生的错误(例如用户输入了非数字字符)。如果用户输入了非数字字符,则会打印一条错误消息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值