我尝试在python中编写插入排序算法-
def insertion(list):
checked = 2
while (checked <= len(list)):
for i in range(checked-1):
if list[checked-1] < list[i]:
list.insert(i, list[checked-1])
del list[checked]
checked+=1
return list
我测量了执行10
为什么这段python代码不交换数字?
def swap(x, y):
'''THe swap function'''
print("INSIDE")
temp = x
x = y
y = temp
#Driver_code
x = 2
y = 3
swap(x, y)
print(x)
print(y)
示例
num = [0,3,5,3,0,0,9,8]
输出应为
[3,5,3,9,8,0,0,0]
Python中的解决方案是
def moveZeroes(self, nums):
zero, cur = -1, 0
while cur < len(nums):
if nums[cur] != 0:
# update zero index when current is not zero
zero += 1
nums[cur], nums[zero] = nums[zero],
问题是要编写python代码来生成数字{1,2,3,...,n}的所有排列。所以,我写了这段代码:
def permute(n):
if n==len(a):
print a
return
for i in range(n,len(a)):
swap(i,n)
permute(n+1)
swap(i,n)
def swap(x,y):
a[x],a[y]=a[y],a[x]
a=[1,2,3,4] #any list
permute(0)
而且它工作得很完美。但是,由于我确实有空闲时间,我对它进行了一些修改,并编写了以
关于swap,在C++中,我们可以用std::swap(x, y);交换两个。x和y作为reference传递到交换区。
但是在Python中,我们是否也可以编写一个swap函数,它可以以与C++相同的方式进行交换?我实现的Python版本的交换有点愚蠢:
def swap_in_python(x, y):
return y, x
#so when swapping a and b, I usually do it like this
a, b = swap_in_python(a, b)
这真的很麻烦,但是我们不能把reference or pointer传递给我们在C++中可以做
我用python编写了这个bubbleSort function,它可以完美地工作。
def bubbleSort(arr):
n = len(arr)
# Traverse through all array elements
for i in range(n):
# Last i elements are already in place
for j in range(0, n-i-1):
# traverse the array from 0 to n-i-1
# Swap if the element found is greate
我一直在尝试按字母顺序对字符串进行排序,但遇到了问题。我知道python上有排序功能,但我不能使用它。甚至不能使用.join方法。必须使用for循环来完成所有这些工作。
def wordOrder(word):
word = list(word)
for i in range(0, len(word)):
for j in range(i, len(word)):
if word[i] > word[j]:
word[i], word[j] = word[j], word[i]
word =
假设我有算符A和算符B,它们作用于f(x) = 2x。如何创建一个函数来说明在python中A(B(f(X) == B(A(f(X)?
这是我的尝试:
#Commutation: Creating a function that checks whether operators A and B commutate on some dummy function f(x) = 2*x
#[A,B](2x) =?= 0
def commutate(A,B):
f = lambda x: 2*x
if lambda x: A(B(f)) - B(A(f)) == 0:
我研究了使用python (3.6.2)的选择排序算法。
我意识到所有的解决方案/示例都会使用显式数字来引用列表中的索引。
示例:
def selection_sort(content):
content_length = len(content)
for position in range(content_length):
for next_pos in range(position+1, content_length):
if content[next_pos] < content[position]:
在Python3中,我可以这样做: # Function with string as input
def function(argument: str):
return argument 但我不能: # Function with optional input
def function(argument='default': str):
return argument 定义可选参数类型的正确语法是什么?
嗨,我有一个关于j循环的if语句int的问题。我知道您将较小的值与更大的值交换,但我不明白为什么它被写成waarde, rij[j] = rij[j], waarde。逗号是Python中的某种交换符吗?
def insertionsort(rij):
for i in range(len(rij)):
waarde = rij[i]
for j in range(0, i):
if waarde<rij[j]:
这段Python代码也可以用Java代码编写吗?
def gcd(a, b):
# Return greatest common divisor using Euclid's Algorithm.
while b:
a, b = b, a % b
return a
print (gcd(210, 45))
这是我到目前为止在Java代码中所做的:
private static int gcd(int p, int q) {
// Return greatest common divisor using Euclid's Algo
我刚开始自学Python,我在用户输入的基础上错误地进行了排序活动。
这是代码:
a = int(input("Enter Num1:"))
b = int(input("Enter Num2:"))
c = int(input("Enter Num3:"))
d = int(input("Enter Num4:"))
if a > b: b, a = a, b
if b > c: c, b = b, c
if c > d: d, c = c, d
if a > b: b, a = a, b
if b &
我有几个疑问-
1)如何使用现有的EDI to X12解析器?我使用的是Python 3.5。
a) pyx12,用的是python 2,里面应该不支持python >= 3. b) Bots,没有文档,不知道怎么用。c)在开源中找不到其他好的解析器。
2)如果我想构建一个解析器,我应该怎么做?我是说,我刚接触python本身,编写一个解析器算法对我来说有点太难了。
谢谢,阿卡什。
我正在学习去看的这个节目
package main
import "fmt"
func sum(s []int, c chan int) {
sum := 0
for _, v := range s {
sum += v
}
c <- sum // send sum to c
}
func main() {
s := []int{7, 2, 8, -9, 4, 0}
c := make(chan int)
go sum(s[:len(s)/2], c)
go sum(s[len(s)/