我注意到,当我在VSC中用autopep8格式化它时,我最后一个print()autopep8语句的部分内容被按下了,我不明白为什么。只有当字符串中有临时foor循环变量{guesses_Taken}时,才会发生这种情况。
if guess == secret_number:
print(
f'Good job, {name}! You guessed my number in {guesses_taken} guesses taken')如果没有变量,它就会像往常一样格式化:
print(f'Good job, {name}! You guessed my number in guesses taken')我试着打印一个临时的。对于另一个文件中的循环变量来重现问题,但是在这里它工作正常。
numbers = 23
for i in range(3):
x = i
if x == 2:
print(f'Number {i} and Number {numbers}')最后一行存在格式问题的原始代码
for guesses_taken in range(1, 7):
print('Take a guess.')
guess = int(input())
if guess < secret_number:
print('Your guess is too low.')
elif guess > secret_number:
print('Your guess is too high')
else:
break # This condition is for the correct guess
if guess == secret_number:
print(
f'Good job, {name}! You guessed my number in {guesses_taken} guesses taken')它是一个bug还是我可以改进什么?程序本身运行正常。
提前谢谢你!
完整源代码第21行:https://pastebin.com/D66mDm5K VSC版本: 1.72.1
发布于 2022-10-13 10:03:20
对字符串的添加将行的长度推到PEP8 8建议的80个字符之上:
print(len("print(f'Good job, {name}! You guessed my number in guesses taken')"))
print(len("print(f'Good job, {name}! You guessed my number in {guesses_taken} guesses taken')"))输出
67
82autopep8的解决方案是在print(之后打破界限。
您可以使用--max-line-length [length] CLI参数来配置不同的值。
发布于 2022-10-13 10:04:17
PEP8指定行长度必须最大为79,因此编辑器正在重构您的代码,以尝试遵守该规则。
在这里使代码看起来更干净的一种方法是:
if guess == secret_number:
print(
f"Good job, {name}! You guessed my number in "
f"{guesses_taken} guesses taken"
)例如
https://stackoverflow.com/questions/74053847
复制相似问题