使用原始输入并在python中进行计算

使用原始输入并在python中进行计算,python,input,Python,Input,因此,对于我正在做的部分作业,我询问用户他们的地址(包括街道名称)并从68减去它 到目前为止,我已经: streetName = raw_input("Please enter your address: ") 假设用户输入地址为668 Rickman Street,我应该从68减去668,然后打印出来 “你的密码是-600” -600显然是68-668的计算 但是,我不知道如何从原始输入中提取668并将其放入计算。如果您确定您的号码和街道名称之间有空格,您可以检查并尝试转换每个拆分的字符串

因此,对于我正在做的部分作业,我询问用户他们的地址(包括街道名称)并从68减去它

到目前为止,我已经:

streetName = raw_input("Please enter your address: ")
假设用户输入地址为668 Rickman Street,我应该从68减去668,然后打印出来 “你的密码是-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
,并在找到第一个空格的地方停止,存储索引并提取从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中的同一索引中,则在访问第一个单词或遇到686之后的第一个空格后,可以退出循环

也可以将字符串转换为列表

street_name_lst = street_name.split()
where street_name_lst=>['668','Rickman','street']

现在您只需使用第一个索引访问第一个元素

address=street\u name\u lst[0]

现在str_address=>'686',但这是字符串形式的(不兼容的类型可以对您的情况使用整数类型进行任何处理),所以让我们转换字符串地址 到整数类型

int\u add=int(str\u地址)

现在有int_add=>686,现在可以对它进行进一步的计算

请记住,任何语言中的数据结构和类型系统都很重要。 还可以查看PEP8标准,检查变量命名的良好约定


安装ipython可能会有所帮助。勾选

您可以在
上拆分字符串。如何区分
0
的合法
密码
和从未找到门牌号之间的区别?我们可以将其设置为负值。例如,我想没有人使用负数作为门牌号:D