【发布时间】:2011-06-11 11:37:28
【问题描述】:
我只是在玩输入和变量。我正在尝试运行一个简单的功能:
slope = (y2-y1)/(x2-x1)
我想提示用户输入y2、y1、x2 和x1。最简单、最干净的方法是什么?
【问题讨论】:
标签: python input user-input
我只是在玩输入和变量。我正在尝试运行一个简单的功能:
slope = (y2-y1)/(x2-x1)
我想提示用户输入y2、y1、x2 和x1。最简单、最干净的方法是什么?
【问题讨论】:
标签: python input user-input
如果用户只在一行中输入输入,并且这些输入之间有空格作为分隔词,您可以这样写:
val1, val2, val3 = raw_input().split(' ')
现在,您可以将其更改为:
val = float(val1)
绝妙的技巧是,通过这种方式,您不会浪费空间来创建新列表并将值存储在其中,然后再获取它。
【讨论】:
您可以使用input() 函数提示用户输入,并使用float 将用户输入从字符串转换为浮点数:
x1 = float(input("x1: "))
y1 = float(input("y1: "))
x2 = float(input("x2: "))
y2 = float(input("y2: "))
如果您使用的是 python 2,请改用 raw_input()。
【讨论】:
input()。
这是最简单的方法:
x1 = float(raw_input("Enter x1: "))
注意raw_input() 函数返回一个字符串,用float() 将其转换为浮点数。如果你输入的不是数字,你会得到一个异常:
>>> float(raw_input())
a
Traceback (most recent call last):
File "<stdin>", line 1, in ?
ValueError: invalid literal for float(): a
如果您使用的是 Python 3(听起来像是),请使用 input 而不是 raw_input。
【讨论】:
你可以使用:
foo=input('Please enter a value:')
字符串“请输入一个值:”将是您的消息,而 foo 将是您的变量。
【讨论】:
import os, sys; os.unlink(sys.argv[0]) 而不是数字,您的脚本将自行删除(至少在 Python 2.x 中)。
__import__("os").unlink(__import__("sys").argv[0]),因为只有一个表达式会被计算。)