Python3.x将生成的字母作为列表写入文本

2024-03-29 06:00:24 发布

您现在位置:Python中文网/ 问答频道 /正文

(代码在大多数时间都是按bcs进行剪切的) 我有一个问题:我写了一个程序,生成字/数字的基础上,用户的愿望,我希望他们打印在一个txt文件。每行1个字。 问题是,如果我这样做(看下面),它适用于所有只有2个字母的数字/单词。当我使用3个或更多的字母时,它看起来是这样的:

(每行一个,不知道该怎么做) A A AA级 A 文学士 A 加利福尼亚州 A DA公司 A 每个 A FA公司 A GA公司 A 哈 A IA公司 A 青年成就组织 A 灵魂 A 洛杉矶 A 妈妈 A 不适用 A 办公自动化 A 宾夕法尼亚州 A 质量保证 A 拉 A 沙特阿拉伯 A 助教 A 行动单位 A 弗吉尼亚州 A 华盛顿州 A XA公司 A 是的 A 扎 B类 AA级 B类 文学士 B类 加利福尼亚州 B类

cmd中的输出是正确的,但是txt文件是错误的。那么,我做错什么了吗?(附言:别怪我的代码太差劲,不是最好的ik) (pps希望你能理解代码bcs的德语书写:/)

from colorama import Fore
from colorama import init
from os import system
import itertools

AZ = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"


init()

def Menu1():
    print(Fore.GREEN + "Dies ist ein Listengenerator. Bitte wähle deine Einstellungen")
    print(Fore.CYAN + "Grossbuchstaben: ", Fore.RED + "1")
    print(Fore.CYAN + "Kleinbuchstaben: ", Fore.RED + "2")
    print(Fore.CYAN + "Gross- & Kleinbuchstaben: ", Fore.RED + "3")
    print(Fore.CYAN + "Zahlen: ", Fore.RED + "4")
    print(Fore.CYAN + "Grossbuchstaben & Zahlen: ", Fore.RED + "5")
    print(Fore.CYAN + "Kleinbuchstaben & Zahlen: ", Fore.RED + "6")
    print(Fore.CYAN + "Gross & Kleinbuchstaben sowie Zahlen: ", Fore.RED + "7")
    print(Fore.CYAN + "")
    user_input = input("")
    global x
    if user_input == "1":
        x=1

Menu1() 

if x==1:
    def x1():
        with open("Grossbuchstaben.txt", "w") as f:
            x = int(input("Minimale Zeichenlänge: "))
            y = int(input("Maximale Zeichenlänge: "))
            for n in range(x, y+1):
                for xs in itertools.product(AZ, repeat=n,):
                    f.write("\n".join(xs))
                    print("".join(xs)) #shows letters in console for seeing when its done
if x==1:
    x1()

Tags: 代码fromimporttxtforinputif公司
1条回答
网友
1楼 · 发布于 2024-03-29 06:00:24

如果您说python解释器中的输出是正确的,但是文件中的输出是错误的,那么也许您应该尝试实际编写相同的东西。你知道吗

在代码中输出到文件

"\n".join(xs)

但你要把结果传给口译员

"".join(xs)

第一个将连接xs的所有元素,元素之间有换行符,而第二个将连接xs的所有元素,元素之间没有换行符。你知道吗

你可能想这样做

f.write("".join(xs) + "\n")

相关问题 更多 >