我想知道为什么你不能将字符串连接到python中赋值为None的变量。我理解它用作逻辑测试,但在你决定它应该是一个字符串整数之前,你如何保持变量为空。 对不起,这是我正在做的代码
preScraWord =输入(“\ n \ n \ n请输入您的字:”)
preScraWord = preScraWord.lower()
lenWord = len(preScraWord)
nLenWord = -lenWord-1
backWord =无
表示范围内的i(-1,nLenWord,-1):
backWord += preScraWord[i]
打印(backWord)
答案 0 :(得分:0)
听起来OP的问题就是:
def f(i):
if i == 1:
return "a string"
然后想做类似的事情:
a = ''
for i in range(5):
a += f(i)
这会在i > 1
时抛出异常,因为在这种情况下f(i)
会返回None
,而a
无法与之前的"a string"
值f()
连接起来a = ''
for i in range(5):
temp = f(i)
a = a if temp is None else a + temp
# this will skip the concatenation if temp is None
}}
有几种方法可以解决这个问题:
1。
在连接之前检查TypeError
的返回类型:(LBYL)
a = ''
for i in range(5):
try:
a += f(i)
except TypeError:
continue
2。
抓住None
例外:(EAFP)
def f(i):
if i == 1:
return "a string"
return ""
3。
改变创建---
- hosts: localhost
gather_facts: yes
vars:
tasks:
#- setup:
- debug: msg = "Hostname is {{ ansible_hostname }}"
值的东西:(智慧)
return res.status(401).json({ message: 'Unauthorized user!' });