如果你有一个点(在2d),你怎么能在python的另一个点(原点)周围旋转那个点?
例如,您可以将原点周围的第一个点倾斜10度.
基本上你有一个点PointA和它旋转的原点.代码看起来像这样:
PointA=(200,300)
origin=(100,100)
NewPointA=rotate(origin,PointA,10) #The rotate function rotates it by 10 degrees
Run Code Online (Sandbox Code Playgroud) 有没有办法(在python中),我可以按频率对列表进行排序?
例如,
[1,2,3,4,3,3,3,6,7,1,1,9,3,2]
Run Code Online (Sandbox Code Playgroud)
上面的列表将按其值的频率顺序排序,以创建以下列表,其中频率最高的项目位于前面:
[3,3,3,3,3,1,1,1,2,2,4,6,7,9]
Run Code Online (Sandbox Code Playgroud) 在传统的python中,sum函数给出了一个总和list:
sum([0,1,2,3,4])=10
Run Code Online (Sandbox Code Playgroud)
另一方面,如果你有一个嵌套列表如下:
sum([[1,2,3],[4,5,6],[7,8,9]])
Run Code Online (Sandbox Code Playgroud)
我们发现错误:
Traceback (most recent call last):
File "<input>", line 1, in <module>
TypeError: unsupported operand type(s) for +: 'int' and 'list'
Run Code Online (Sandbox Code Playgroud)
除此之外,我们怎样才能sum在嵌套列表中找到第一个值(索引0)?如:
something([[1,2,3],[4,5,6],[7,8,9]])=12
Run Code Online (Sandbox Code Playgroud) 假设我打印以下代码
print("""
THE RUSSIAN PEASANT ALGORITHM
-----------------------------
times two values x and y together
""")
x=int(raw_input("raw_input x: "))
y=int(raw_input("raw_input y: "))
print("x"+" "*(10)+"y")
while x!=1:
x=x/2
y=y*2
print(str(x)+" "*10+str(y))
Run Code Online (Sandbox Code Playgroud)
这将打印算法的结果,与用户输入的数字相匹配。
编辑:为了澄清我想要输出的原因,基本上我可以用“CLS”清除屏幕并重新打印我已经打印的所有内容,但是将偶数 x 值划掉,就像你应该用俄罗斯农民算法做的那样。
我最近一直在使用维基百科模块来确定一个随机的维基百科页面。
我一直在用一个非常大的单词列表和 random.choice() 模块来做这个:
words=open("words.txt","r")
words=words.read()
words=words.split()
text=random.choice(words)
string=random.choice(wikipedia.search(text))
p = wikipedia.page(string)
Run Code Online (Sandbox Code Playgroud)
该系统似乎最常工作,但偶尔会出现错误:
Traceback (most recent call last):
File "/home/will/google4.py", line 25, in <module>
p = wikipedia.page(string)
File "/usr/local/lib/python2.7/dist-packages/wikipedia/wikipedia.py", line 276, in page
return WikipediaPage(title, redirect=redirect, preload=preload)
File "/usr/local/lib/python2.7/dist-packages/wikipedia/wikipedia.py", line 299, in __init__
self.__load(redirect=redirect, preload=preload)
File "/usr/local/lib/python2.7/dist-packages/wikipedia/wikipedia.py", line 393, in __load
raise DisambiguationError(getattr(self, 'title', page['title']), may_refer_to)
DisambiguationError: "The Scarf" may refer to:
The Scarf (film)
The Scarf (opera)
Scarf (disambiguation)
Arthur Stewart King Scarf
Run Code Online (Sandbox Code Playgroud)
无论如何,我可以绕过它吗?
假设您有一个向量列表 - 例如:
myListOfVectors=[(10,2),(0,5),(3,2),(8,2),(9,5),(10,5]
Run Code Online (Sandbox Code Playgroud)
将这些向量从小到大排序的最快方法是什么(假设距原点的最小距离将是列表的第一个成员,第二小的距离将是第二个成员等......)?