基本上,问题是打印从1到1000之间的所有数字,其中数字的平方只包含偶数(例如: 932**2 = 868624,所有数字都是偶数)--我确信我得到了算法,它在python2.7中运行得很好,但是在python3.4中失败了。看上去很奇怪。总之,这是代码:
for x in range(1,1000): #x varies from 1 to 1000
sq = x*x
flag = True
while sq != 0:
if sq %2 != 0: #everytime sq is divided by 10, result is even
当我用Fortran语言编写代码时,我发现当我在do-loop中将实际值设置为control-var时,输出会很奇怪,例如:
do i=0.1,1.0,0.1
write (13,"(F15.6)") i
end do
当我将起始值设置为0.6时,输出结果为:0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.0.But:
do i=0.6,1.0,0.1
write (13,"(F15.6)") i
end do
输出为:0.6,0.7,0.8,0.9,不输出1.0。这一切为什么要发生?
我在python中找到了一个用6修改数字5的程序,但问题是我在python2中得到了它,如果我在python3中更改它并重新运行它,就会产生奇怪的输出。
python 2代码的来源是
我的完整python3代码是
def convert5to6rec(num):
# Base case for recurssion termination
if(num == 0):
return 0
# Extract the last digit and change it if needed
digit = num % 10
if(digi
我正在尝试用Python语言编写一个函数,它将使用牛顿-科特斯方法来积分给定的函数,它返回了一些非常奇怪的结果,其中有时给出了正确的答案,而另一些则不是(大多数情况下-ve界限是错误的)。这是我的代码,如果有人能指出任何错误,我们将不胜感激:)
def integrate(function, a, b):
coeff = [7,32,12,32,7]
result = 0
for i in range(0,len(coeff)):
x = a + (i*(b-a))/(len(coeff)-1)
result += coeff[i]*ev
引言
今天,我在蟒蛇身上发现了一种奇怪的行为,当时我正在做一些指数化的实验,我想知道这里是否有人知道发生了什么。在我的实验中,我试图检查python int**int或float**float中什么更快。为了检查我是否运行了一些小片段,我发现了一个非常奇怪的行为。
奇怪的结果
我的第一种方法是只编写一些循环和打印,以检查哪一个更快。我用的狙击手就是这个
import time
# Run powers outside a method
ti = time.time()
for i in range(EXPERIMENTS):
x = 2**2
tf = time.time()
prin
在寻找一个可以用Python和其他语言解析而不会出现任何tag的标记时,我发现了这个奇怪的东西
In [15]: print('standard python')
In [16]: //#::
...:
...: hello
...: print('hey')
...: exit()
...:
...: seems to wait for something
...: & I have
只有当我从命令行运行脚本时,才会遇到一个奇怪的问题,其中存在共享对象导入错误。如果我使用exec(.)在python控制台中运行脚本,它就会成功。
我有一个需要共享对象的类: foo.py:
import os
cur_dir = os.curdir()
os.chdir('/tmp/dir_with_shared_object/')
import shared_object_class
os.chdir(cur_dir)
class Useful:
... # use the shared object import
然后有这样一个脚本:
from foo impo
在我的zsh中,jobs、fg和bg命令会产生奇怪的行为。下面是一个示例(这适用于所有命令,而不仅仅是python):
$ python &
[1] 21214
Python 2.7.8 (default, Oct 19 2014, 16:02:00)
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.54)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
[
在循环列表时,我(在我看来)遇到了一种非常奇怪的行为。很难解释,但这里有一个示例代码:
k = [[0],[1],[2]]
for lis in k:
lis_copy = lis
lis_copy.append(0)
print lis
在执行此操作时,我得到:
[0, 0]
[1, 0]
[2, 0]
这对我来说很奇怪,因为附加的列表是lis的副本,而lis也是附加的。我认为这份清单是不动的。例如,对整数列表执行相同的操作会发生以下情况:
k = [0,1,2]
for num in k:
num_copy = num
num_copy = 0
使用Python2.7的
我试图解决LeetCodeOJ上的反向波兰符号问题。
我用Python编写了直截了当的解决方案如下:
class Solution:
# @param tokens, a list of string
# @return an integer
def evalRPN(self, tokens):
stack = []
for token in tokens:
if token in ["+" , "-" ,"*", "/"]:
op1 = stac
我遇到了一些奇怪的事情。我是Python的新手,如果这是基础的话,我很抱歉。
a = 12
b = int(24/3)
x = (a < b)
调试器:我有:
a (int) = 12
b (int) = 8
x (bool) = True
所以在这种情况下,我似乎不知道,有什么解释吗?
PS: X=a<b也是这样(不带括号)
我使用的是编辑(自动测试),这似乎是因为我要求一些同事在squish中测试相同的代码片段,而它也是这样做的。
我对Python非常陌生,但我正在努力学习。对于一个简单的脚本,我的一个想法是在执行过程中创建一个读取和写入日志文件的脚本。然后,根据日志文件中的内容,帮助指定脚本下次运行时所做的事情。
在Python中,读取和写入文件似乎相当简单,
f = open('textfile.txt', 'r+')
读取并打印出文件的每一行似乎也很简单,
for line in f:
print line
line=f.next()
print line
但是,在读取文件时如何合并IF语句以根据所读取的内容进行操作?
for line in f
if
我在Lua中有这个阶乘演算的脚本:
N, F = 1, 1
while F < 1e200 do
print(N .. "! is " .. F)
N = N + 1
-- Compute the factorial of the new N based on
-- the factorial of the old N:
F = F * N
end
Lua 5.3中的这段代码有什么问题?在19!之后,一切都变得很奇怪。但同样的代码在Lua5.1中工作得很好。
在python中,我发现了一些非常奇怪的代码:
num = 99999999999999999999999999999
for i in range(2, num):
if num % i == 0:
j = int(num / i)
print(num, '=', i, '*', j)
break
else:
print(num, 'is prime')
Python给了我
99999999999999999999999999999 = 3 * 33333333333333333
我已经阅读了很多关于while循环的主题,但我找不到一个告诉我我自己的代码做错了什么的主题。我正在艰难地学习Python,我写这段代码是为了满足练习33的学习练习#1。我不明白为什么当我输入原始数据时,循环不会终止。
numbers = []
def number_uno(z):
i = 0
while i < z:
print "At the top i is %d" % i
numbers.append(i)
i += 1
print "Numbers now: ",