小编Mar*_*nen的帖子

python变量传递问题

不久前,我决定参加文字冒险游戏.我一直想这样做.但它第一次出现了史诗般的失败.这次我越来越近但不在那里.我想我看到了错误:问题是变量没有被带到下一个def.所以我想知道的是如何解决它?

这是描述问题的代码段:

def start():
    print "Hello there Knight... Knight? Sir Knight, what's your name?"
    name = raw_input("> ")
    print "Well sir %s of simpleton. We have a message from the queen, do you want to read it?" % name
    rm = raw_input("> ")
    rm(rm)

def rm(rm):
    if rm ==  "yes":
        print "It says: \n Dear %s, \n Our kingdom is in great danger. Dragon Redpole has captured the beatiful princess. Who ever saves her    rom his dangerous castle may marry …
Run Code Online (Sandbox Code Playgroud)

python

1
推荐指数
1
解决办法
84
查看次数

Python:如何使用 f-string 进行数学运算

我正在尝试使用 python 3.6 的新 f-string 功能在墙上编写自己的 99 瓶啤酒实现,但我被卡住了:

def ninety_nine_bottles():
    for i in range(10, 0, -1):
        return (f'{i} bottles of beer on the wall, {i} of beer! You take one down, pass it around, {} bottles of beer on the wall')
Run Code Online (Sandbox Code Playgroud)

如何减少最后一对括号中的“i”?我试过 i-=1 无济于事(语法错误)...

python python-3.6 f-string

1
推荐指数
1
解决办法
1896
查看次数

如何从字典创建csv

我在这里有一个非常独特的情况.我的字典有字符串键和pandas.DataFrame值:

d = {'0':df1,'1':df2,'2':df3,...,'1000':df1001}
Run Code Online (Sandbox Code Playgroud)

我想为df1,df2,df3等创建一个单独的csv文件,直到df1001,文件名为'0'.csv,'1'.csv,'2'.csv,依此类推,直到'1000'. csv分别.

我尝试过使用pandas to_csv,但这并没有帮助.有人可以帮帮我吗.

提前致谢.

python csv pandas

1
推荐指数
1
解决办法
49
查看次数

使用strip()函数

我想了解两条代码行之间的区别。我找不到区别。每当我尝试运行第二个代码时,它都不会影响字符串a

有人能告诉我为什么第二行代码不起作用吗?

a = "aaaaIstanbulaaaa".strip('a')    #Affects the string
print(a)
>>>Istanbul
Run Code Online (Sandbox Code Playgroud)
a = "aaaaIstanbulaaaa"     #Doesn't affect the string
a.strip('a')
print(a)
>>>aaaaIstanbulaaaa
Run Code Online (Sandbox Code Playgroud)

python strip

1
推荐指数
1
解决办法
44
查看次数

Python3 fpdf 给我一个错误 latin-1 编解码器无法编码字符

当我运行下面的代码时,我得到以下回溯:

\n
Traceback (most recent call last):\n  File "C:\\demo\\test.py", line 11, in <module>\n    pdf.output("splintered.pdf")\n  File "C:\\demo\\lib\\site-packages\\fpdf\\fpdf.py", line 1065, in output\n    self.close()\n  File "C:\\demo\\lib\\site-packages\\fpdf\\fpdf.py", line 246, in close\n    self._enddoc()\n  File "C:\\demo\\lib\\site-packages\\fpdf\\fpdf.py", line 1636, in _enddoc\n    self._putpages()\n  File "C:\\demo\\lib\\site-packages\\fpdf\\fpdf.py", line 1170, in _putpages\n    p = self.pages[n].encode("latin1") if PY3K else self.pages[n]\nUnicodeEncodeError: \'latin-1\' codec can\'t encode character \'\\u2019\' in position 74: ordinal not in range(256)\n
Run Code Online (Sandbox Code Playgroud)\n

我该如何解决?是因为我选择了 Arial 作为字体吗?我想做的就是将 txt 转换为 pdf 文件,因此如果有任何更简单的方法可以在 Python 中执行此操作,我将不胜感激。

\n
import fpdf\npdf = fpdf.FPDF(format=\'letter\')\n\ntxt = \'bees and butterflies. …
Run Code Online (Sandbox Code Playgroud)

python pdf utf-8 pyfpdf txt

1
推荐指数
1
解决办法
2458
查看次数

在循环中,可选择将输出写入文件

我编写了一个函数,它迭代计算一些数量X,Y,返回最终结果。此外,此代码将每次迭代保存X,Y到文件中。这是基本结构:

def myFunc():
    X,Y = 0,0
    file1 = open(output1,"w")
    file2 = open(output2,"w")
    for i in range(1000):
        X,Y = someCalculation(X,Y) #calculations happen here
        file1.write(X)
        file2.write(Y)
    file1.close()
    file2.close()
    return X,Y
Run Code Online (Sandbox Code Playgroud)

但是,如果调用函数时省略文件名output1或,我需要此函数执行相同的计算,而不向相关文件添加任何内容output2

这是我的凌乱的解决方案:

def myFunc(output1=None,output2=None):
    X,Y = 0,0
    if (output1 != None): file1 = open(output1,"w")
    if (output2 != None): file2 = open(output2,"w")
    for i in range(1000):
        X,Y = someCalculation(X,Y) #calculations happen here
        if (output1 != None): file1.write(X)
        if (output2 != None): file2.write(Y)
    if (output1 …
Run Code Online (Sandbox Code Playgroud)

python output

1
推荐指数
1
解决办法
89
查看次数

对 CSV 文件进行排序并将结果保存为 CSV

我想获取一个 csv 文件,对其进行排序,然后将其另存为 csv。这是我到目前为止所拥有的,不知道如何将其写入 csv 文件

import csv
with open('test.csv','r') as f:
    sample = csv.reader(f)
    sort = sorted(sample)

for eachline in sort:
     print (eachline)
Run Code Online (Sandbox Code Playgroud)

python csv

0
推荐指数
1
解决办法
1080
查看次数

字符结果与整数指针之间的差异

我试图执行以下代码:

#include <iostream>
using namespace std;

int main()
{
    int arr[4] = {1,2,3,4};
    int *p;
    p = arr;
    cout << "p=" << p << endl;

    char ch3[4] = {'c','d','e'};
    char *ptr;
    ptr = ch3;
    cout << ptr << endl;
    getchar();
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

当我打印指针p时,它打印存储在其中的数组'arr'的地址,而当我打印指针ptr时,它打印数组ch3而不是它的地址.我想知道为什么会这样.

c++ pointers

-1
推荐指数
1
解决办法
80
查看次数

为什么我的评估逆波兰表示法不起作用?

这是我的代码,我的测试用例失败了:

["10","6","9","3","+","-11","*","/","*","17","+","5","+"]
Run Code Online (Sandbox Code Playgroud)

我打印了堆栈,堆栈如下所示:

[10]
[10, 6]
[10, 6, 9]
[10, 6, 9, 3]
[10, 6, 12]
[10, 6, 12, -11]
[10, 6, -132]
[10, -1] <-- ??
[-10]
[-10, 17]
[7]
[7, 5]
[12]
Run Code Online (Sandbox Code Playgroud)

当我们到达 -132, 6 时,它应该返回 0。不过不确定为什么它返回 -1,我尝试了其他它可以工作的编译器。所以我的问题是,发生了什么事?

def evalRPN(self, tokens):
    setOfOperator = {'+', '*', '/', '-'}
    def evaluate(x1, x2, operand):
        if operand == "+":
            return x1 + x2
        elif operand == '-':
            return x2 - x1  # Reverse order for subtraction
        elif operand == '*':
            return x1 …
Run Code Online (Sandbox Code Playgroud)

python algorithm math

-1
推荐指数
1
解决办法
120
查看次数

标签 统计

python ×8

csv ×2

algorithm ×1

c++ ×1

f-string ×1

math ×1

output ×1

pandas ×1

pdf ×1

pointers ×1

pyfpdf ×1

python-3.6 ×1

strip ×1

txt ×1

utf-8 ×1