gpt4 book ai didi

Python 打印元素发生在下一个元素之后

转载 作者:行者123 更新时间:2023-12-04 15:10:55 25 4
gpt4 key购买 nike

我正在尝试用 Python 制作一个文本到莫尔斯码的翻译器(在 vs 代码中使用 Python 3.8)但是行运行顺序有问题。这是我的代码(问题在代码之后):

import winsound
import time


def beep(char):
sound = {
'-': 500,
'.': 150,
}
for dashdot in item_dict[char]:
winsound.Beep(500, sound[dashdot])
time.sleep(.05)


item_dict = {
'a': '.-',
'b': '-...',
'c': '-.-.',
'd': '-..',
'e': '.',
'f': '..-.',
'g': '--.',
'h': '....',
'i': '..',
'j': '.---',
'k': '-.-',
'l': '.-..',
'm': '--',
'n': '-.',
'o': '---',
'p': '.--.',
'q': '--.-',
'r': '.-.',
's': '...',
't': '-',
'u': '..-',
'v': '...-',
'w': '.--',
'x': '-..-',
'y': '-.--',
'z': '--..',
'0': '-----',
'1': '.----',
'2': '..---',
'3': '...--',
'4': '....-',
'5': '.....',
'6': '-....',
'7': '--...',
'8': '---..',
'9': '----.',
'.': '.-.-.-',
',': '--..--',
'?': '..--..',
'-': '-...-',
'/': '-..-.'
}


def morse():
x = input("?\n")
name_list = list(x)
for x in name_list:
print(item_dict[f"{x}"], end=' ')
beep(x)
time.sleep(.5)
morse()


print('''text to morse-text
enter the text you want''')


morse()

正如你在这部分看到的:

  for x in name_list:
print(item_dict[f"{x}"], end=' ')
beep(x)
time.sleep(.5)

print 元素在 beep 函数之前。所以它应该先打印然后发出噪音。但它会发出声音,然后在为所有字符发出声音后,打印代码。有什么问题吗?

最佳答案

flush=True 添加到您的 print 语句中,如下所示:

print(item_dict[f"{x}"], end=' ', flush=True)

这会强制在控制台上输出。当您指定自定义“行尾”参数时,这对您的情况很有用。如果不是换行符,则不会按原样自动打印。

关于Python 打印元素发生在下一个元素之后,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65213648/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com