tgspython Ответов: 1

Почему он отображается пустым вместо строки, которую я дал в Python V. 3?


Я использую Python3 и пишу этот код, где он рассказывает вам шутку и спрашивает пользователя, нравится ли ему это. Если да, то он напечатает что-то, после чего программа будет завершена. Если нет, то он будет продолжать рассказывать новые шутки случайным образом, пока пользователь не скажет "да". Однако программа действительно работает без каких-либо ошибок, так что я не уверен, в чем проблема.

вот мой код:
import time
import string
import random

def newjoke(joke):
    time.sleep(1)
    print ("Well what about this:\n\n",joke)

    time.sleep(0.5)
    funny = input("Did you find that funny?").lower()

    return funny

jokes = ["What do you call a boomerang that won't come back?\n\nA stick\n","What's the difference between ‘Oooh’ and ‘Aaah’?\n\nAbout 3 inches\n","Why do most women pay more attention to their appearance than improving their minds?\n\nBecause most men are stupid but few are blind\n","How do you tell a male chromosome from a female chromosome?\n\nPull down its genes","What do you call a fake spaghetti?\n\nAn im-pasta\n","What did the yoga instructor say to her landlord when he tried to evict her?\n\n'Namaste'\n"]

print ("Welcome to the Joke game")
time.sleep(1)
print ("You will be told a joke and it's answer")
time.sleep(1)
print ("Then you have to put in if you found it funny or not - yes/no\n")
time.sleep(3)

print ("What's the point in pushing an envelope?\n\nThere's no point because it's always going to be stationary!\n")

while True:
  
    time.sleep(3)
    funny = input("\nDid you find that funny?\n").lower()

    if funny == "no":
        joke = random.choice(jokes)
        funny = newjoke(joke)

    if funny == "yes":
      time.sleep(0.5)
      print ("\nI know, I'm a comedian")
      break


---

Как вы можете видеть в переменных шутках, у меня там есть несколько шуток (я собираюсь добавить еще), но когда я запускаю код после 2/3 ввода "нет", он отображает пустоту/ничего, а затем спрашивает, нашел ли я это забавным. Можете вы пожалуйста помочь мне, спасибо.

Что я уже пробовал:

Я попытался заменить шутки чем-то более коротким, например: "йо","лол","весело", и посмотреть, смогу ли я определить проблему. Но случилось то же самое.

Я также попытался перепечатать его, убедившись, что там нет лишних пробелов или кавычек.

Так что если кто-нибудь знает, как это исправить, то будет очень признателен.

1 Ответов

Рейтинг:
4

Thomas Daniels

Оба newjoke а код в самом деле есть. while петля спросит: "вы нашли это забавным?". Итак, то, что вы видите, - это повторение вопроса, потому что после newjoke если вас вызовут, вы вернетесь к началу цикла while. Это создает впечатление отображения пустой шутки, но вы просто не попали в код, чтобы сгенерировать шутку.


tgspython

Большое вам спасибо за вашу помощь! Я починил его, и он работает.