使用原始输入并在 python 中进行计算
Using raw input and doing calculations in python
所以对于我正在做的部分作业,我询问用户他们的地址(包括街道名称)并将其从 68 中减去。
到目前为止我有:
streetName = raw_input("Please enter your address: ")
假设用户在那里输入的地址是 668 Rickman Street,我应该取 668 并从 68 中减去它,打印出来的是
"your secret code is -600"
-600显然是68-668的计算
但是我不知道如何从原始输入中取出 668 并将其放入计算中。
如果您确定您的电话号码和街道名称之间有空格,您可以检查并尝试转换每个拆分的字符串
streetName = raw_input("Please enter your address: ")
names = streetName.split(' ')
secret_code = -1
for name in names :
try :
secret_code = 68 - int(name)
except ValueError :
continue
# Thanks to Jon Clements
if secret_code > 68 :
print 'something went wrong , check your address'
else
print secret_code
您可以使用 for
循环遍历 streetName
并在找到第一个 space 的任何地方停止,存储索引并提取从 0 开始到计算的索引的子字符串,然后将其解析为整数。
示例代码:
stringVar = "123 Hello world"
subStringVar = a[0:3]
stringParsed = int(subStringVar)
那么现在stringParsed
就是123
,那就简单的操作一下68 - stringParsed
.
您可以在空格分隔符上拆分输入字符串:
>>> int("668 Rickman Street".split()[0])
668
我认为首先要做的是了解你将使用的数据结构
得到你的最终答案。查看有关字符串和列表理解的示例。
假设 street_name 是一个字符串。如果该地址出现在 street_name 中的同一索引中,那么一旦访问了第一个单词或遇到第一个空白 space 后 686.
就可以退出循环
或者您可以将字符串转换为列表。
street_name_lst = street_name.split()
其中 street_name_lst => ['668', 'Rickman', 'Street']
现在您只需使用第一个索引访问第一个元素。
address = street_name_lst[0]
现在 str_address => '686' ,但这是字符串(不兼容类型,无法针对您的情况使用 Integer 类型进行任何处理),所以让我们转换 String 地址
为整数类型。
int_add = int(str_address)
现在您有 int_add => 686,现在您可以对其进行进一步计算。
记住任何语言的数据结构和类型系统都很重要。
还要查看 PEP8 标准以检查命名变量的良好约定。
https://www.python.org/dev/peps/pep-0008/#id38
安装 ipython 可能会有帮助。检查 http://ipython.org/
所以对于我正在做的部分作业,我询问用户他们的地址(包括街道名称)并将其从 68 中减去。
到目前为止我有:
streetName = raw_input("Please enter your address: ")
假设用户在那里输入的地址是 668 Rickman Street,我应该取 668 并从 68 中减去它,打印出来的是 "your secret code is -600"
-600显然是68-668的计算 但是我不知道如何从原始输入中取出 668 并将其放入计算中。
如果您确定您的电话号码和街道名称之间有空格,您可以检查并尝试转换每个拆分的字符串
streetName = raw_input("Please enter your address: ")
names = streetName.split(' ')
secret_code = -1
for name in names :
try :
secret_code = 68 - int(name)
except ValueError :
continue
# Thanks to Jon Clements
if secret_code > 68 :
print 'something went wrong , check your address'
else
print secret_code
您可以使用 for
循环遍历 streetName
并在找到第一个 space 的任何地方停止,存储索引并提取从 0 开始到计算的索引的子字符串,然后将其解析为整数。
示例代码:
stringVar = "123 Hello world"
subStringVar = a[0:3]
stringParsed = int(subStringVar)
那么现在stringParsed
就是123
,那就简单的操作一下68 - stringParsed
.
您可以在空格分隔符上拆分输入字符串:
>>> int("668 Rickman Street".split()[0])
668
我认为首先要做的是了解你将使用的数据结构 得到你的最终答案。查看有关字符串和列表理解的示例。
假设 street_name 是一个字符串。如果该地址出现在 street_name 中的同一索引中,那么一旦访问了第一个单词或遇到第一个空白 space 后 686.
就可以退出循环或者您可以将字符串转换为列表。
street_name_lst = street_name.split()
其中 street_name_lst => ['668', 'Rickman', 'Street']
现在您只需使用第一个索引访问第一个元素。
address = street_name_lst[0]
现在 str_address => '686' ,但这是字符串(不兼容类型,无法针对您的情况使用 Integer 类型进行任何处理),所以让我们转换 String 地址 为整数类型。
int_add = int(str_address)
现在您有 int_add => 686,现在您可以对其进行进一步计算。
记住任何语言的数据结构和类型系统都很重要。 还要查看 PEP8 标准以检查命名变量的良好约定。
https://www.python.org/dev/peps/pep-0008/#id38
安装 ipython 可能会有帮助。检查 http://ipython.org/