(代码在大部分时间都是相同的bcs 我有一个问题:我写了一个程序,根据用户的意愿生成单词/数字,我希望它们在txt文件中打印。每行1个字。 问题是,如果我这样做(见下文),它适用于只有2个字母的所有数字/单词。当我使用3个以上的字母时,它看起来像这样:
(每行一个,不知道如何在该帖子中这样做..) 一个 一个 AA 一个 BA 一个 CA 一个 DA 一个 EA 一个 F A 一个 GA 一个 哈 一个 IA 一个 JA 一个 K A 一个 LA 一个 嘛 一个 NA 一个 OA 一个 PA 一个 QA 一个 RA 一个 SA 一个 TA 一个 UA 一个 VA 一个 WA 一个 XA 一个 YA 一个 ZA 乙 AA 乙 BA 乙 CA 乙
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()
答案 0 :(得分:0)
如果你说python解释器中的输出是正确的但是文件的输出是错误的,那么也许你应该尝试写同样的东西。
在您的代码中输出到文件
"\n".join(xs)
但输出到解释器
"".join(xs)
第一个将xs
的所有元素与它们之间的换行连接起来,而第二个将只连接xs
的所有元素,它们之间没有任何内容。
您可能想要
f.write("".join(xs) + "\n")