def closest_power(base, num):
'''
base: base of the exponential, integer > 1
num: number you want to be closest to, integer > 0
Find the integer exponent such that base**exponent is closest to num.
Note that the base**exponent may be either greater or smaller than num.
In case of a tie, return the smaller value.
Returns the exponent.
'''
result=0
exp=1
while base**exp<num:
if base**exp <= num < base**(exp+1):
result = exp
elif num - base**exp <= base**(exp+1) - num: …Run Code Online (Sandbox Code Playgroud) 我在 Python 中发现了一些非常奇怪的行为。我的一位学生在尝试查找属于两个列表的元素时犯了某种错误,他写道:
list1 and list2
Run Code Online (Sandbox Code Playgroud)
奇怪的行为是 Python 3 没有触发任何错误!
list1 and list2实际上有一个值为list2。
这有什么已知的原因吗?
我的代码在python 2.x版本上运行正常但是当我试图在python 3.x版本上运行它时,它给出了错误.
subject:需要缩写sms编码中的任何消息.
码:
def sms_encoding(data):
#start writing your code here
print(data)
data.split(" ")
data_list=data.split(" ")
sms_encd=[]
final_sms=""
for i in range(len(data_list)):
if data_list[i].lower() in ['a','e','i','o','u']:
sms_encd.append(data_list[i])
elif len(data_list[i])>1:
a = data_list[i].translate(None,'aeiouAEIOU')
sms_encd.append(a)
for j in range(len(sms_encd)):
final_sms += str(sms_encd[j])+" "
return final_sms[:-1]
data="I will not repeat mistakes"
print(sms_encoding(data))
Run Code Online (Sandbox Code Playgroud)
输出:
2.x版本:
I will not repeat mistakes
I wll nt rpt mstks
Run Code Online (Sandbox Code Playgroud)
3.x版本:
I will not repeat mistakes
Traceback (most recent call last):
File "python", line 18, in <module>
File …Run Code Online (Sandbox Code Playgroud) 我有一个fib下面给出的课程.它实现__iter__和__next__.它是一个可迭代的,也是它自己的迭代器.
class fib(object):
def __init__(self):
self.prev = 0
self.curr = 1
def __iter__(self):
return self
def __next__(self):
value = self.curr
self.curr += self.prev
self.prev = value
return value
from collections import Iterable
print(isinstance(fib, Iterable))
Run Code Online (Sandbox Code Playgroud)
print语句返回False,我希望它返回True
在以下代码中:
def read_file(filename):
"""
>>> read_file('text.txt')
{'Donald Trump': [('Donald Trump', 'Join me live in Springfield, Ohio!\nLit!!\n', 1477604720, 'Twitter for iPhone', 5251, 1895)]}
"""
Run Code Online (Sandbox Code Playgroud)
我收到一个错误说:
ValueError: line 4 of the docstring for __main__.read_file has inconsistent leading whitespace: 'Lit!!'
Run Code Online (Sandbox Code Playgroud)
是什么原因引起了这个?
我有这个:
query='id=10&q=7&fly=none'
我想将它拆分以创建一个像这样的字典:
d = { 'id':'10', 'q':'7', 'fly':'none'}
Run Code Online (Sandbox Code Playgroud)
我怎样才能用很少的代码做到这一点?
我知道可能这个问题可能会因为它的特殊性而得到一些负面影响而且可能听起来很愚蠢.但我对Python的语法很新,我甚至不确定"变量"是否是答案的一部分.所以,请冷静:)
我在Github 上看这个Repository.
在这里,我在某些线条上看到了一些奇怪的东西(例如57,89等等).
作者提出了一些下划线,并在他们后面加了一些逗号.虽然我不知道它们是什么意思:
_, _, param1, params, _, _, expr, _ , app = node
Run Code Online (Sandbox Code Playgroud)
据我所知,放置多个变量的语法是:
var1, var2 ,var3 = 1, 2, "3"
Run Code Online (Sandbox Code Playgroud)
但是在这一点上我不知道会发生什么,因为简单的下划线不被认为是变量,特别是当它们被多次使用时(或者它们是什么?)并且git存储库中的语法不遵循上面的规则.
我搜索了Python的一些语法备忘单,但这与任何内容都不匹配.所以我想得到你们中的一些人的帮助.谢谢
- 我的经验仅限于C/C++/C#/ Java/Javascript [...]
如果我有一个具有多个内部函数的对象,这些函数并不完全适用于外部调用。我应该总是用_或开始它们__吗?
我试着:
import pygal
wm = pygal.Worldmap()
Run Code Online (Sandbox Code Playgroud)
但它引起了:
AttributeError: module 'pygal' has no attribute 'Worldmap'
Run Code Online (Sandbox Code Playgroud)
谁能告诉我这是什么问题?
python ×10
python-3.x ×10
python-2.7 ×2
class ×1
dictionary ×1
docstring ×1
iterable ×1
list ×1
operators ×1
pygal ×1
python-3.6 ×1
split ×1
string ×1
syntax ×1
tkinter ×1