我想看看是否可以在函数中运行函数列表.我能找到的最接近的东西是循环整个模块.我只想使用预先选择的功能列表.
这是我原来的问题:
样本输入
qA2
Run Code Online (Sandbox Code Playgroud)
样本输出(必须打印到单独的行,如果至少一个字母通过则为True,否则为每个测试的所有字母都失败):
True
True
True
True
True
Run Code Online (Sandbox Code Playgroud)
我写了一个测试.当然我可以写出5组不同的代码,但这看起来很难看.然后我开始想知道我是否可以循环完成他们要求的所有测试.
仅一个测试的代码:
raw = 'asdfaa3fa'
counter = 0
for i in xrange(len(raw)):
if raw[i].isdigit() == True: ## This line is where I'd loop in diff func's
counter = 1
print True
break
if counter == 0:
print False
Run Code Online (Sandbox Code Playgroud)
我尝试使用所有测试运行循环失败:
raw = 'asdfaa3fa'
lst = [raw[i].isalnum(),raw[i].isalpha(),raw[i].isdigit(),raw[i].islower(),raw[i].isupper()]
counter = 0
for f in range(0,5):
for i in xrange(len(raw)):
if lst[f] == True: ## loop through f, which …Run Code Online (Sandbox Code Playgroud) 还有一个提示 - 如果有人在HackerRank上学习Python,那么知道这对于开始是至关重要的.
我正在尝试理解这段代码:
stamps = set()
for _ in range(int(input())):
print('underscore is', _)
stamps.add(raw_input().strip())
print(stamps)
Run Code Online (Sandbox Code Playgroud)
输出:
>>>2
underscore is 0
>>>first
set(['first'])
underscore is 1
>>>second
set(['second', 'first'])
Run Code Online (Sandbox Code Playgroud)
我把2作为第一个原始输入.函数如何知道我只循环两次?这让我失望,因为它不是典型的......对于我在xrange(0,2)结构中.
起初我的想法是下划线重复shell中的最后一个命令.所以我在代码中添加了print语句来查看下划线的值......但是这些值只显示0和1,就像典型的循环结构一样.
我已经阅读了这篇文章,但仍然无法理解使用下划线的3个用法中的哪一个.
我刚刚开始学习Python,所以很容易理解这些简单的解释!
我正在尝试创建一个函数,其中检查给定值(作为字符串传递)以查看数字位数是4还是6,并且它是一个数字.
我的第一个冲动是使用这段代码:
def number(x):
if (len(x) == (4 or 6)) and x.isdigit():
print "True"
else:
print "False"
Run Code Online (Sandbox Code Playgroud)
上面的代码只通过了下面的第一个测试......我不明白为什么它通过了这个,但没有其他测试:
number("1234")
Run Code Online (Sandbox Code Playgroud)
只有当我分离出len()函数时才能正常工作.
def number(x):
if (len(x) == 4 or len(x) == 6) and x.isdigit():
print "True"
else:
print "False"
## Checks
number("1234")
number("123456")
number("abcd")
number("abcdef")
number("1")
number("a")
Run Code Online (Sandbox Code Playgroud)
上面的代码通过了所有测试.
所以我的问题是:
谢谢你的帮助!
**这不是一个重复的问题,因为虽然这个问题与布尔运算符有相同的基本概念,但由于len(),isdigit()的使用以及如何最好地改进它的另一个问题(有人评论),问题本身是不同的返回的用法).但是,肯定会为另一个问题添加另一个视角.
我的尝试: df['uid'] = df.uid.astype(int)
哪个有效...!然而,Python 不喜欢它:
尝试在 DataFrame 的切片副本上设置一个值。尝试使用 .loc[row_indexer,col_indexer] = value 代替
我的问题 - 如何执行这个简单代码的“最佳实践”是什么?
迄今为止的研究:
尝试:
...一些链接说使用 iloc 但我不知道如何在这里使用...