(代码在大多数情况下都是一样的)我遇到了一个问题:我编写了一个程序,可以根据用户的意愿生成单词/数字,我希望它们打印在 txt 文件中。每行1个字。问题是,如果我这样做(请看下面),它适用于所有只有 2 个字母的数字/单词。当我使用 3 个或更多字母时,它看起来像这样:
(每行一个,不知道如何在那个帖子中做到这一点......)AA AA A BA A CA A DA A EA A FA A GA A HA A IA A JA KA A LA A MA A NA A QA A RA A SA A TA A UA A VA A WA A XA A YA A ZA B AA B BA B CA B
cmd中的输出是正确的,但是txt文件是错误的。那么,我做错了什么吗?(ps。不要因为那些糟糕的代码而责怪我,而不是最好的 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()
如果你说 python 解释器中的输出是正确的,但文件上的输出是错误的,那么也许你应该尝试实际编写相同的东西。
在您的代码中,您输出到文件
"\n".join(xs)
但是你输出给解释器
"".join(xs)
第一个将连接所有元素,xs
它们之间有换行符,而第二个将连接所有元素,xs
它们之间没有任何内容。
你可能想做
f.write("".join(xs) + "\n")
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句