pyjokes | One line jokes for programmers | REST library
kandi X-RAY | pyjokes Summary
Support
Quality
Security
License
Reuse
- Start the application .
- Return a list of jokes in the given category .
- Create an argument parser .
- Get a random joke .
- Read file contents .
pyjokes Key Features
pyjokes Examples and Code Snippets
Trending Discussions on pyjokes
Trending Discussions on pyjokes
QUESTION
I am learning flask & have created a very basic page which renders Jokes from the pyjokes library Here my doubt is though the jokes are populating in the list but all the items are having 1. in front of them how can I increase these number
Python code
from flask import Flask, redirect, url_for, render_template
import pyjokes
import sys
app = Flask(__name__)
jokes = pyjokes.get_jokes()
# Defining the home page of our site
@app.route("/") # this sets the route to this page
def home():
# print(jokes)
return render_template("1.html" , jokes = jokes) # some basic inline html
@app.route("/")
def user(anything):
return f"Hello {anything}! plz go back nothing here "
if __name__ == "__main__":
app.run(use_reloader=True,debug=True)
HTML Code
Document
Welcome to home page
Below are jokes frok python modules jokes
{% for x in jokes %}
- {{x}}
{% endfor %}
Sample Current Output
Welcome to home page
Below are jokes frok python modules jokes
1.Complaining about the lack of smoking shelters, the nicotine addicted Python programmers said 1.there ought to be 'spaces for tabs'.
1.Ubuntu users are apt to get this joke.
1.Obfuscated Reality Mappers (ORMs) can be useful database tools.
& so on ...
Expected Output
Welcome to home page
Below are jokes frok python modules jokes
1.Complaining about the lack of smoking shelters, the nicotine addicted Python programmers said 1.there ought to be 'spaces for tabs'.
2.Ubuntu users are apt to get this joke.
3.Obfuscated Reality Mappers (ORMs) can be useful database tools.
& so on ...
ANSWER
Answered 2022-Feb-03 at 08:25Try this
Document
Welcome to home page
Below are jokes frok python modules jokes
{% for x in jokes %}
- {{x}}
{% endfor %}
Looks like you're creating a new ordered list for each element, instead of one ordered list with all the elements contained in it.
QUESTION
How to return for loop values without any html template in flask , in the below code I need to get all jokes values having multiple jokes route but i want them to be displayed as a list one below the other , currently the output I am getting is as a whole list item , I am aware i can use jinja for this but here i want to do without creating any html page
from flask import Flask
import pyjokes
app = Flask(__name__)
@app.route("/")
def home():
joke = pyjokes.get_joke()
return f'{joke}'
@app.route("/MultipleJokes")
def jokes():
jokes = pyjokes.get_jokes() # here jokes is a list item i need to show all item one below the other like for i in jokes print(i)
return f'{jokes} '
Current Output
["Complaining about the lack of smoking shelters, the nicotine addicted Python programmers said there ought to be 'spaces for tabs'.", 'Ubuntu users are apt to get this joke.', 'Obfuscated Reality Mappers (ORMs) can be useful database tools.', 'Asked to explain Unicode during an interview, Geoff went into detail about his final year university project. He was not hired.', "Triumphantly, Beth removed Python 2.7 from her server in 2030. 'Finally!' she said with glee, only to see the announcement for Python 4.4.", "An SQL query goes into a bar, walks up to two tables and asks, 'Can I join you?'", 'When your hammer is C++, everything begins to look like a thumb.', 'If you put a million monkeys at a million keyboards, one of them will eventually write a Java program. The rest of them will write Perl.', 'To understand recursion you must first understand recursion.', "I suggested holding a 'Python Object Oriented Programming Seminar', but the acronym was unpopular.", "'Knock, knock.' 'Who's there?' ... very long pause ... 'Java.'", "How many programmers does it take to change a lightbulb? None, that's a hardware problem.", "What's the object-oriented way to become wealthy? Inheritance.", "Why don't jokes work in octal? Because 7 10 11.", 'How many programmers does it take to change a lightbulb? None, they just make darkness a standard.', "Two bytes meet. The first byte asks, 'Are you ill?' The second byte replies, 'No, just feeling a bit off.'", "Two threads walk into a bar. The barkeeper looks up and yells, 'Hey, I want don't any conditions race like time last!'", "Old C programmers don't die, they're just cast into void.", "Eight bytes walk into a bar. The bartender asks, 'Can I get you anything?' 'Yeah,' replies the bytes. 'Make us a double.'", "Why did the programmer quit his job? Because he didn't get arrays.", "Why do Java programmers have to wear glasses? Because they don't see sharp.", 'Software developers like to solve problems. If there are no problems handily available, they will create their own.', ".NET was named .NET so that it wouldn't show up in a Unix directory listing.", 'Hardware: The part of a computer that you can kick.', "A programmer was found dead in the shower. Next to their body was a bottle of shampoo with the instructions 'Lather, Rinse and Repeat'.", 'Optimist: The glass is half full. Pessimist: The glass is half empty. Programmer: The glass is twice as large as necessary.', 'In C we had to code our own bugs. In C++ we can inherit them.', 'How come there is no obfuscated Perl contest? Because everyone would win.', "If you play a Windows CD backwards, you'll hear satanic chanting ... worse still, if you play it forwards, it installs Windows.", 'How many programmers does it take to kill a cockroach? Two: one holds, the other installs Windows on it.', 'What do you call a programmer from Finland? Nerdic.', "What did the Java code say to the C code? A: You've got no class.", "Why did Microsoft name their search engine BING? Because It's Not Google.", "Pirates go 'arg!', computer pirates go 'argv!'", 'Software salesmen and used-car salesmen differ in that the latter know when they are lying.', "Child: Dad, why does the sun rise in the east and set in the west? Dad: Son, it's working, don't touch it.", 'Why do programmers confuse Halloween with Christmas? Because OCT 31 == DEC 25.', 'How many Prolog programmers does it take to change a lightbulb? false.', 'Real programmers can write assembly code in any language.', 'Waiter: Would you like coffee or tea? Programmer: Yes.', 'What do you get when you cross a cat and a dog? Cat dog sin theta.', "If loving you is ROM I don't wanna read write.", 'A programmer walks into a foo...', "A programmer walks into a bar and orders 1.38 root beers. The bartender informs her it's a root beer float. She says 'Make it a double!'", "What is Benoit B. Mandelbrot's middle name? Benoit B. Mandelbrot.", "Why are you always smiling? That's just my... regular expression.", 'ASCII stupid question, get a stupid ANSI.', "A programmer had a problem. He thought to himself, 'I know, I'll solve it with threads!'. has Now problems. two he", 'Why do sin and tan work? Just cos.', 'Java: Write once, run away.', 'I would tell you a joke about UDP, but you would never get it.', 'A QA engineer walks into a bar. Runs into a bar. Crawls into a bar. Dances into a bar. Tiptoes into a bar. Rams a bar. Jumps into a bar.', "My friend's in a band called '1023 Megabytes'... They haven't got a gig yet!", "I had a problem so I thought I'd use Java. Now I have a ProblemFactory.", 'QA Engineer walks into a bar. Orders a beer. Orders 0 beers. Orders 999999999 beers. Orders a lizard. Orders -1 beers. Orders a sfdeljknesv.', 'A product manager walks into a bar, asks for drink. Bartender says no, but will consider adding later.', 'How do you generate a random string? Put a first year Computer Science student in Vim and ask them to save and exit.', "I've been using Vim for a long time now, mainly because I can't figure out how to exit.", "How do you know whether a person is a Vim user? Don't worry, they'll tell you.", "Waiter: He's choking! Is anyone a doctor? Programmer: I'm a Vim user.", "3 Database Admins walked into a NoSQL bar. A little while later they walked out because they couldn't find a table.", 'How to explain the movie Inception to a programmer? When you run a VM inside another VM, inside another VM ... everything runs real slow!', 'What do you call a parrot that says "Squawk! Pieces of nine! Pieces of nine!"? A parrot-ey error.', 'There are only two hard problems in Computer Science: cache invalidation, naming things and off-by-one-errors.', "There are 10 types of people: those who understand binary and those who don't.", 'There are 2 types of people: those who can extrapolate from incomplete data sets...', "There are II types of people: Those who understand Roman Numerals and those who don't.", 'There are 10 types of people: those who understand hexadecimal and 15 others.', "There are 10 types of people: those who understand binary, those who don't, and those who were expecting this joke to be in trinary.", "There are 10 types of people: those who understand trinary, those who don't, and those who have never heard of it.", 'What do you call eight hobbits? A hobbyte.', 'The best thing about a Boolean is even if you are wrong, you are only off by a bit.', 'A good programmer is someone who always looks both ways before crossing a one-way street.', 'There are two ways to write error-free programs; only the third one works.', 'QAs consist of 55% water, 30% blood and 15% Jira tickets.', 'Sympathy for the Devil is really just about being nice to QAs.', "How many QAs does it take to change a lightbulb? They noticed that the room was dark. They don't fix problems, they find them.", 'A programmer crashes a car at the bottom of a hill, a bystander asks what happened, he says "No idea. Let\'s push it back up and try again".', "What do you mean 911 is only for emergencies? I've got a merge conflict.", "Writing PHP is like peeing in the swimming pool, everyone did it, but we don't need to bring it up in public.", "Why did the QA cross the road? To ruin everyone's day.", 'Number of days since I have encountered an array index error: -1.', 'Number of days since I have encountered an off-by-one error: 0.', 'Speed dating is useless. 5 minutes is not enough to properly explain the benefits of the Unix philosophy.', 'Microsoft hold a bi-monthly internal "productive week" where they use Google instead of Bing.', "Schrodinger's attitude to web development: If I don't look at it in Internet Explorer then there's a chance it looks fine.", 'Finding a good PHP developer is like looking for a needle in a haystack. Or is it a hackstack in a needle?', "Unix is user friendly. It's just very particular about who its friends are.", 'A COBOL programmer makes millions with Y2K remediation and decides to get cryogenically frozen. "The year is 9999. You know COBOL, right?"', 'The C language combines all the power of assembly language with all the ease-of-use of assembly language.', 'An SEO expert walks into a bar, bars, pub, public house, Irish pub, tavern, bartender, beer, liquor, wine, alcohol, spirits...', "What does 'Emacs' stand for? 'Exclusively used by middle aged computer scientists.'", 'What does pyjokes have in common with Adobe Flash? It gets updated all the time, but never gets any better.', "Why does Waldo only wear stripes? Because he doesn't want to be spotted.", 'I went to a street where the houses were numbered 8k, 16k, 32k, 64k, 128k, 256k and 512k. It was a trip down Memory Lane.', "!false, (It's funny because it's true)", "['hip', 'hip'] (hip hip array!)"]
Expected Output
Ubuntu users are apt to get this joke.
Obfuscated Reality Mappers (ORMs) can be useful database tools.
Asked to explain Unicode during an interview, Geoff went into detail about his final year university project. He was not hired.
Triumphantly, Beth removed Python 2.7 from her server in 2030. 'Finally!' she said with glee, only to see the announcement for Python 4.4.
An SQL query goes into a bar, walks up to two tables and asks, 'Can I join you?'
When your hammer is C++, everything begins to look like a thumb.
If you put a million monkeys at a million keyboards, one of them will eventually write a Java program. The rest of them will write Perl.
To understand recursion you must first understand recursion.
I suggested holding a 'Python Object Oriented Programming Seminar', but the acronym was unpopular.
'Knock, knock.' 'Who's there?' ... very long pause ... 'Java.'
How many programmers does it take to change a lightbulb? None, that's a hardware problem.
What's the object-oriented way to become wealthy? Inheritance.
Why don't jokes work in octal? Because 7 10 11.
How many programmers does it take to change a lightbulb? None, they just make darkness a standard.
Two bytes meet. The first byte asks, 'Are you ill?' The second byte replies, 'No, just feeling a bit off.'
Two threads walk into a bar. The barkeeper looks up and yells, 'Hey, I want don't any conditions race like time last!'
Old C programmers don't die, they're just cast into void.
Eight bytes walk into a bar. The bartender asks, 'Can I get you anything?' 'Yeah,' replies the bytes. 'Make us a double.'
Why did the programmer quit his job? Because he didn't get arrays.
Why do Java programmers have to wear glasses? Because they don't see sharp.
Software developers like to solve problems. If there are no problems handily available, they will create their own.
.NET was named .NET so that it wouldn't show up in a Unix directory listing.
Hardware: The part of a computer that you can kick.
A programmer was found dead in the shower. Next to their body was a bottle of shampoo with the instructions 'Lather, Rinse and Repeat'.
Optimist: The glass is half full. Pessimist: The glass is half empty. Programmer: The glass is twice as large as necessary.
In C we had to code our own bugs. In C++ we can inherit them.
How come there is no obfuscated Perl contest? Because everyone would win.
If you play a Windows CD backwards, you'll hear satanic chanting ... worse still, if you play it forwards, it installs Windows.
How many programmers does it take to kill a cockroach? Two: one holds, the other installs Windows on it.
What do you call a programmer from Finland? Nerdic.
What did the Java code say to the C code? A: You've got no class.
Why did Microsoft name their search engine BING? Because It's Not Google.
Pirates go 'arg!', computer pirates go 'argv!'
Software salesmen and used-car salesmen differ in that the latter know when they are lying.
Child: Dad, why does the sun rise in the east and set in the west? Dad: Son, it's working, don't touch it.
Why do programmers confuse Halloween with Christmas? Because OCT 31 == DEC 25.
How many Prolog programmers does it take to change a lightbulb? false.
Real programmers can write assembly code in any language.
Waiter: Would you like coffee or tea? Programmer: Yes.
What do you get when you cross a cat and a dog? Cat dog sin theta.
If loving you is ROM I don't wanna read write.
A programmer walks into a foo...
A programmer walks into a bar and orders 1.38 root beers. The bartender informs her it's a root beer float. She says 'Make it a
double!'
What is Benoit B. Mandelbrot's middle name? Benoit B. Mandelbrot.
Why are you always smiling? That's just my... regular expression.
ASCII stupid question, get a stupid ANSI.
A programmer had a problem. He thought to himself, 'I know, I'll solve it with threads!'. has Now problems. two he
Why do sin and tan work? Just cos.
Java: Write once, run away.
I would tell you a joke about UDP, but you would never get it.
A QA engineer walks into a bar. Runs into a bar. Crawls into a bar. Dances into a bar. Tiptoes into a bar. Rams a bar. Jumps into a bar.
My friend's in a band called '1023 Megabytes'... They haven't got a gig yet!
I had a problem so I thought I'd use Java. Now I have a ProblemFactory.
QA Engineer walks into a bar. Orders a beer. Orders 0 beers. Orders 999999999 beers. Orders a lizard. Orders -1 beers. Orders a
sfdeljknesv.
A product manager walks into a bar, asks for drink. Bartender says no, but will consider adding later.
How do you generate a random string? Put a first year Computer Science student in Vim and ask them to save and exit.
I've been using Vim for a long time now, mainly because I can't figure out how to exit.
How do you know whether a person is a Vim user? Don't worry, they'll tell you.
Waiter: He's choking! Is anyone a doctor? Programmer: I'm a Vim user.
3 Database Admins walked into a NoSQL bar. A little while later they walked out because they couldn't find a table.
How to explain the movie Inception to a programmer? When you run a VM inside another VM, inside another VM ... everything runs real slow!
What do you call a parrot that says "Squawk! Pieces of nine! Pieces of nine!"? A parrot-ey error.
There are only two hard problems in Computer Science: cache invalidation, naming things and off-by-one-errors.
There are 10 types of people: those who understand binary and those who don't.
There are 2 types of people: those who can extrapolate from incomplete data sets...
There are II types of people: Those who understand Roman Numerals and those who don't.
There are 10 types of people: those who understand hexadecimal and 15 others.
There are 10 types of people: those who understand binary, those who don't, and those who were expecting this joke to be in trinary.
There are 10 types of people: those who understand trinary, those who don't, and those who have never heard of it.
What do you call eight hobbits? A hobbyte.
The best thing about a Boolean is even if you are wrong, you are only off by a bit.
A good programmer is someone who always looks both ways before crossing a one-way street.
There are two ways to write error-free programs; only the third one works.
QAs consist of 55% water, 30% blood and 15% Jira tickets.
Sympathy for the Devil is really just about being nice to QAs.
How many QAs does it take to change a lightbulb? They noticed that the room was dark. They don't fix problems, they find them.
A programmer crashes a car at the bottom of a hill, a bystander asks what happened, he says "No idea. Let's push it back up and
try again".
What do you mean 911 is only for emergencies? I've got a merge conflict.
Writing PHP is like peeing in the swimming pool, everyone did it, but we don't need to bring it up in public.
Why did the QA cross the road? To ruin everyone's day.
Number of days since I have encountered an array index error: -1.
Number of days since I have encountered an off-by-one error: 0.
Speed dating is useless. 5 minutes is not enough to properly explain the benefits of the Unix philosophy.
Microsoft hold a bi-monthly internal "productive week" where they use Google instead of Bing.
Schrodinger's attitude to web development: If I don't look at it in Internet Explorer then there's a chance it looks fine.
Finding a good PHP developer is like looking for a needle in a haystack. Or is it a hackstack in a needle?
Unix is user friendly. It's just very particular about who its friends are.
A COBOL programmer makes millions with Y2K remediation and decides to get cryogenically frozen. "The year is 9999. You know COBOL, right?"
The C language combines all the power of assembly language with all the ease-of-use of assembly language.
An SEO expert walks into a bar, bars, pub, public house, Irish pub, tavern, bartender, beer, liquor, wine, alcohol, spirits...
What does 'Emacs' stand for? 'Exclusively used by middle aged computer scientists.'
What does pyjokes have in common with Adobe Flash? It gets updated all the time, but never gets any better.
Why does Waldo only wear stripes? Because he doesn't want to be spotted.
I went to a street where the houses were numbered 8k, 16k, 32k, 64k, 128k, 256k and 512k. It was a trip down Memory Lane.
ANSWER
Answered 2022-Jan-28 at 09:55you can use this function, adding a
separator between each joke:
def jokes():
jokes = pyjokes.get_jokes()
jokes_final = "
".join(jokes)
return f'{jokes_final}'
or, you can use the render_template
, pass the jokes list to it, and make a jinja loop to print each joke - better solution if you have complex html markup to add to the output
QUESTION
so I´ve been working on my school project and making progress, and it looks like everthing works at this stage, but for some reason when I run the script nothing happens. I could try removing some lines of code and try to figure out the issue but I really dont know what to remove since I need everything on the code right now. If someone could help i really would appreciate.
import pyttsx3
import speech_recognition as sr
import subprocess as sp
import random
import datetime
import wikipedia
import pyjokes
import sys
Audio = sr.Recognizer()
engine = pyttsx3.init()
voices = engine.getProperty('voices')
engine.setProperty('voice', voices[1].id)
#Inicio a libraria para fazer o script falar
def talk(text):
engine.say(text)
engine.runAndWait()
def Commands():
try:
with sr.Microphone() as source:
print("Say something: ")
voice = Audio.listen(source)
Order = Audio.recognize_google(voice)
Order = Order.lower() #Passa todo o que for dito para letras minusculas
if 'ray' in Order:
Order = Order.replace('ray', '')
print(Order)
print("You said: " + Order)
except:
pass
return Order
def ray_commands():
order=Commands()
print(order)
#Caso o utilizador queira abrir algum aplicativo o programa vai reconhecer a palavra chave
#É capaz de abrir: Calculadora, Notepad, write e paint
if "open" in order:
if "calculator" in order:
sp.Popen('C:\\Windows\\System32\\calc.exe')
if "Notepad" in order:
sp.Popen('C:\\Windows\\System32\\notepad.exe')
if "wordpad" in order:
sp.Popen('C:\\Windows\\System32\\write.exe')
if "paint" in order:
sp.Popen('C:\\Windows\\system32\mspaint.exe')
#Algumas "dad jokes" caso o utilizador esteja numa para se rir
if "tell me a joke" in order:
print(pyjokes.get_joke())
if "tell me the time" in order:
time = datetime.datetime.now().strftime('%H:%M')
#A palavra chave para fechar o script é close
if "close" in order:
print("Goodbye")
sys.exit()
Please ignore the comments troughout the code, im portuguese haha
ANSWER
Answered 2021-Dec-20 at 00:26Your script is only declaring functions, not running them.
You have to actually call on each function to make it run.
Add this to the bottom of the script to run each of the functions in order-
talk("yourtext")
ray_commands()
I didn't list Commands()
because ray_commands()
already calls on this function.
QUESTION
I am trying to make a voice assistant with Python in PyCharm. Here is the complete code:
import instaloader
import pyautogui
import pyttsx3
import requests
import speech_recognition as sr
import datetime
import os
import cv2
import random
from requests import get
import wikipedia
import webbrowser
import pywhatkit as kit
import sys
import time
import pyjokes
import instadownloader
engine = pyttsx3.init('sapi5')
voices = engine.getProperty('voices')
engine.setProperty('voices', voices[0].id)
def speak(audio):
engine.say(audio)
print(audio)
engine.runAndWait()
# To convert voice into text
def take_command():
r = sr.Recognizer()
with sr.Microphone() as source:
print('Listening...')
r.pause_threshold = 1
audio = r.listen(source, timeout=30, phrase_time_limit=50)
try:
print("Recognizing...")
query = r.recognize_google(audio, language='en-in')
print(f"user said: {query}")
except Exception as e:
speak("i dint understand, talk in a human language if u can.")
return "none"
return query
# To wish
def wish():
hour = int(datetime.datetime.now().hour)
tt = time.strftime('%I %M%p')
if hour>=0 and hour<=12:
speak(f'Good Morning, its {tt}')
elif hour>=12 and hour<=18:
speak(f'Good Afternoon, its {tt}')
else:
speak(f'Good Evening, its {tt}')
speak('I am Jarvis. How can I help you')
# for news
def news():
main_url = 'http://newsapi.org/v2/top-headlines?sources=techcrunch&apiKey=6c055aafb67943e48e70c98920e1db6e'
main_page = requests.get(main_url).json()
#print(main_page)
articles = main_page["articles"]
head = []
day =['first','second','thrid','fourth','fifth','sixth','seventh','eighth','ninth','tenth']
for ar in articles:
head.append(ar["title"])
for i in range (len(day)):
speak(f'todays {day[i]} news is: {head[i]}')
if __name__ == '__main__':
wish()
while True:
query = take_command().lower()
# logic building for tasks
if 'open notepad' in query:
speak('opening notepad')
npath = "C:\\Windows\\notepad.exe"
os.startfile(npath)
elif "open command prompt" in query:
speak('opening command prompt')
os.system('start cmd')
elif 'open camera' in query:
speak('starting webcam')
cap = cv2.VideoCapture(0)
while True:
ret, img = cap.read()
cv2.imshow('webcam', img)
k = cv2.waitKey(50)
if k==27:
break;
cap.release()
cv2.destroyAllWindows()
elif 'open minecraft' in query:
speak('launching minecraft.')
launcher = "C:\\Users\\gouri\\AppData\\Roaming\\.minecraft\\TLauncher.exe"
os.startfile(launcher)
elif 'open Fortnite' in query:
speak('launching fortnite.')
epic = "C:\\Users\\gouri\\OneDrive\\Desktop\\Fortnite.url"
os.startfile(epic)
elif 'ip address' in query:
ip = get("https://api.ipify.org").text
speak(f"your ip address is {ip}")
elif 'wikipedia' in query:
speak('searching wikipedia...')
query = query.replace('wikipedia', '')
results = wikipedia.summary(query, sentences=2)
speak('according to wikipedia')
speak(results)
elif ' open youtube' in query:
speak('opening youtube')
webbrowser.open("www.youtube.com")
elif 'open discord' in query:
speak('opening discord in browser')
webbrowser.open("www.discord.com")
elif 'open whatsapp' in query:
speak('opening whatsapp in browser')
webbrowser.open('https://web.whatsapp.com/')
elif 'open stack overflow' in query:
speak('opening stack overflow in browser')
webbrowser.open('www.stackoverflow.com')
elif 'open google' in query:
speak('ok, what should I search on google.')
cm = take_command().lower()
webbrowser.open(f'{cm}')
elif 'play youtube' in query:
song = query.replace('play', '')
speak('what should i play on youtube')
speak('playing' + song)
kit.playonyt(song)
elif 'thank you' in query:
speak('youre welcome!')
elif 'go to bed' in query:
speak('ok, going to bed')
sys.exit()
# to close any app
elif 'close notepad' in query:
speak('okay, closing notepad')
os.system('taskkill /f /im notepad.exe')
speak('notepad closed')
elif 'close fortnite' in query:
speak('okay, closing fortnite')
os.system('taskkill /f /im Fortnite.url')
speak('fortnite closed')
elif 'close minecraft' in query:
speak('okay, closing minecraft')
os.system('taskkill /f /im TLauncher.exe')
#to set alarm
elif 'set alarm' in query:
nn = int(datetime.datetime.now().hour)
if nn==22:
music_dir = "C:\\Users\\Default\\Music"
songs = os.listdir(music_dir)
os.startfile(os.path.join(music_dir, songs[0]))
#to find a joke
elif 'tell me a joke' in query:
joke = pyjokes.get_joke()
speak(joke)
elif 'shut down' in query:
os.system("shutdown /s /t 5")
elif 'restart' in query:
os.system("shutdown /r /t 5")
elif 'sleep' in query:
os.system("rundll32.exe powrprof.dll,SendSuspendState 0,1,0")
# to switch window
elif 'switch the window' in query:
pyautogui.keyDown('alt')
pyautogui.keyDown('tab')
time.sleep(1)
pyautogui.keyUp('alt')
elif 'tell me the news' in query:
speak('please wait, fetching the latest news')
news()
#to find location using ip address
elif 'where am i' in query or 'where are we' in query:
speak('let me check')
try:
ipAdd = requests.get('https://api.ipify.org').text
print(ipAdd)
url = 'https://get.geojs.io/v1/ip/geo'+ipAdd+'.json'
geo_requests = requests.get(url)
geo_data = geo_requests.json()
print(geo_data)
city = geo_data['city']
country = geo_data['country']
speak(f'i am not sure, but i think we are in {city} and as per my knowledge is in {country}')
except Exception as e:
speak('sorry, but i dont think we are on earth.')
pass
elif 'check instagram profile' in query:
speak('please enter the username of the profile')
name = input('enter username here: ')
webbrowser.open(f'www.instagram.com/{name}')
speak(f'here is the profile of user {name}')
time.sleep(5)
speak('would u like to download the profile pic of this user?')
condition = take_command().lower()
elif 'yes' in query:
mod = instaloader.Instaloader()
mod.downlaod_profile(name, profile_pic_only=True)
speak('download successful')
else:
pass
After this I want it to take a screenshot so I'm trying to type this:
elif 'screenshot' in query:
and so on but when I type this and when I hit enter after I type (colon, :) it's going back 3 spaces and then showing me these 3 errors:
Statement expected, found Py:ELIF_KEYWORD
and:
An illegal target for a variable annotation
ANSWER
Answered 2021-Nov-21 at 13:20else
ends the if
construct. If you want to add another elif
-- you should do it before the else
rather than after it:
Rather than
else:
pass
elif 'screenshot' in query:
Have
elif 'screenshot' in query:
#code for this case
else:
pass
Alternatively, you can simply delete the else: pass
since it doesn't really do anything (although it perhaps makes the code slightly more readable).
QUESTION
I am doing an assistant and I want it to write file all the conversations I have spoken but this happens when I run it "UnboundLocalError: local variable 'open' referenced before assignment" and I try many ways to fix it but I could not fix it. Hope anyone can help me to fix it. Thank you for any help Here is my code
#import
import datetime
import os
import pyautogui
import pyjokes
import pyttsx3
import pywhatkit
import requests
import smtplib
import speech_recognition as sr
import webbrowser as we
from email.message import EmailMessage
from datetime import date
from newsapi import NewsApiClient
import random
import os
import wikipedia
from subprocess import run
from typing import Text
import time
user = "Tom" #your name
assistant= "Jarvis" # Iron man Fan
Jarvis_mouth = pyttsx3.init()
Jarvis_mouth.setProperty("rate", 165)
voices = Jarvis_mouth.getProperty("voices")
# For Mail voice AKA Jarvis
Jarvis_mouth.setProperty("voice", voices[1].id)
def Jarvis_brain(audio):
robot = Jarvis_brain
print("Jarvis: " + audio)
Jarvis_mouth.say(audio)
Jarvis_mouth.runAndWait()
#Jarvis speech
#Jarvis_ear = listener
#Jarvis_brain = speak
#Jarvis_mouth = engine
#you = command
def inputCommand():
# you = input() # For getting input from CLI
Jarvis_ear = sr.Recognizer()
you = ""
with sr.Microphone(device_index=1) as mic:
print("Listening...")
Jarvis_ear.pause_threshold = 1
try:
you = Jarvis_ear.recognize_google(Jarvis_ear.listen(mic, timeout=3), language="en-IN")
except Exception as e:
Jarvis_brain(" ")
except:
you = ""
print("You: " + you)
return you
print("Jarvis AI system is booting, please wait a moment")
Jarvis_brain("Start the system, your AI personal assistant Jarvis")
def greet():
hour=datetime.datetime.now().hour
if hour>=0 and hour<12:
Jarvis_brain(f"Hello, Good Morning {user}")
print("Hello,Good Morning")
elif hour>=12 and hour<18:
Jarvis_brain(f"Hello, Good Afternoon {user}")
print("Hello, Good Afternoon")
else:
Jarvis_brain(f"Hello, Good Evening {user}")
print("Hello,Good Evening")
greet()
def main():
while True:
with open ("Jarvis.txt", "a") as Jarvis:
Jarvis.write("Jarvis: " + str(Jarvis_brain) + "\n" + "You: " + str(you) + "\n")
# Getting input from the user
you = inputCommand().lower()
#General question.
if ("hello" in you) or ("Hi" in you):
Jarvis_brain(random.choice(["how may i help you, sir.","Hi,sir"]))
elif ("time" in you):
now = datetime.datetime.now()
robot_brain = now.strftime("%H hour %M minutes %S seconds")
Jarvis_brain(robot_brain)
elif ("date" in you):
today = date.today()
robot_brain = today.strftime("%B %d, %Y")
Jarvis_brain(robot_brain)
elif ("joke" in you):
Jarvis_brain(pyjokes.get_joke())
elif "president of America" in you:
Jarvis_brain("Donald Trump")
#open application
elif ("play" in you):
song = you.replace('play', '')
Jarvis_brain('playing ' + song)
pywhatkit.playonyt(song)
elif ("open youtube" in you):
Jarvis_brain("opening YouTube")
we.open('https://www.youtube.com/')
elif ("open google" in you):
Jarvis_brain("opening google")
we.open('https://www.google.com/')
elif "information" in you:
you = you.replace("find imformation", "")
Jarvis_brain("what news you what to know about")
topic=inputCommand()
Jarvis_brain("open " + topic)
we.open("https://www.google.com/search?q=" + topic)
elif ("open gmail" in you):
Jarvis_brain("opening gmail")
we.open('https://mail.google.com/mail/u/2/#inbox')
elif "vietnamese translate" in you:
Jarvis_brain("opening Vietnamese Translate")
we.open('https://translate.google.com/?hl=vi')
elif "english translate" in you:
Jarvis_brain("opening English Translate")
we.open('https://translate.google.com/?hl=vi&sl=en&tl=vi&op=translate')
elif ("open internet") in you:
Jarvis_brain("opening internet")
open = "C:\Program Files (x86)\BraveSoftware\Brave-Browser\Application\Brave.exe"
os.startfile(open)
elif "wikipedia" in you:
you = you.replace("wikipedia", "")
Jarvis_brain("what topic you need to listen to")
topic=inputCommand()
results = wikipedia.summary(topic, sentences=2, auto_suggest=False, redirect=True)
print(results)
Jarvis_brain(results)
#New&Covid-19
elif ("news" in you):
newsapi = NewsApiClient(api_key='d4eb31a4b9f34011a0c243d47b9aed4d')
Jarvis_brain("What topic you need the news about")
topic = inputCommand()
data = newsapi.get_top_headlines(
q=topic, language="en", page_size=5)
newsData = data["articles"]
for y in newsData:
Jarvis_brain(y["description"])
elif ("covid-19" in you):
r = requests.get('https://coronavirus-19-api.herokuapp.com/all').json()
Jarvis_brain(f'Confirmed Cases: {r["cases"]} \nDeaths: {r["deaths"]} \nRecovered {r["recovered"]}')
else:
if "goodbye" in you:
hour = datetime.datetime.now().hour
if (hour >= 21) and (hour < 5):
Jarvis_brain(f"Good Night {user}! Have a nice Sleep")
else:
Jarvis_brain(f"Bye {user}")
quit()
main()
Here is my terminal
Traceback (most recent call last):
File "c:\Users\PC\Documents\Code\assistant\Jarvis.py", line 181, in
main()
File "c:\Users\PC\Documents\Code\assistant\Jarvis.py", line 86, in main
with open ("Jarvis.txt", "a") as Jarvis:
UnboundLocalError: local variable 'open' referenced before assignment
Thanks for any help
ANSWER
Answered 2021-Aug-22 at 05:57This is because you have defined the open command, which is one of the main Python commands, as a variable.
At this point, it looks like you put this string in with and try to open a file using a string, which causes an error.
open = "C:\Program Files (x86)\BraveSoftware\Brave-Browser\Application\Brave.exe"
Rename the open variable you defined on line 146 to another name like open_
to fix your problem.
QUESTION
I've created a python ai, and sometimes it cant understand me because of my accent/lisp & when it cant understand me i want to manully type in the command. How do i do this? I want to allow keyboard input as a source for commands (I just want to be able to type in my commands).
Code is below:
# H.I.V.E V.0.0.3 BETA: Home-Assistant Intergrated Virtual Environment
# #VIEW THE HIVE PROJECT AT HTTPS://natebrownprojects.github.io/TheHiveProject/
# Copyright: Nate Brown Projects 2021 / Nate Brown 2021 / TheHiveProjectNZ 2021
import speech_recognition as sr
import pyttsx3
import pywhatkit
import datetime
from datetime import timedelta
import wikipedia
import pyjokes
from pyttsx3 import Engine
listener = sr.Recognizer()
engine: Engine = pyttsx3.init()
voices = engine.getProperty('voices')
engine.setProperty('voice', voices[0] .id)
def talk(text):
engine.say(text)
engine.runAndWait()
talk('Systems Loading, Welcome to the HIVE.')
talk('How, can i help, you Sir?')
def take_command():
try:
with sr.Microphone() as source:
voice = listener.listen(source)
command = listener.recognize_google(voice)
command = command.lower()
if 'hive' in command:
command = command.replace('hive', '')
print(command)
except:
pass
return command
def run_hive():
command = take_command()
print(command)
if 'play' in command:
song = command.replace('play', '')
talk('playing ' + song)
pywhatkit.playonyt(song)
elif 'time' in command:
time = datetime.datetime.now().strftime('%I:%M %p')
talk('Current time is ' + time)
elif 'date' in command:
now = datetime.datetime.now()
talk("Current date and time : ")
talk(now.strftime("%d %m %Y"))
engine.setProperty("rate", 178)
elif 'who is' in command:
person = command.replace('who is', '')
info = wikipedia.summary(person, 1, auto_suggest=False)
print(info)
talk(info)
elif 'joke' in command:
talk(pyjokes.get_joke())
elif 'status report' in command:
talk('All Systems Operational Sir!')
elif 'hive' in command:
talk('Yes, sir?')
elif 'shut down' in command:
talk('Shutting all Hive Systems Down.')
talk('Thank you for using hive! Goodbye!')
print('Thank you for using H.I.V.E!')
exit()
elif 'exit' in command:
talk('Shutting all Hive Systems Down.')
talk('Thank you for using hive! Goodbye!')
print('Thank you for using H.I.V.E!')
exit()
elif 'awesome thanks' in command:
talk('Your, Welcome!')
elif 'thanks' in command:
talk('Ny Pleasure!')
elif 'thank you' in command:
talk('No Problem!')
elif 'awesome' in command:
talk('No Problem, is there anything i, can help you, with?')
elif ' no' in command:
talk('ok!')
elif 'yes' in command:
talk('Ok, what is it?')
elif 'how are you' in command:
talk('Im Great, How are you!?')
elif 'you still there' in command:
talk('Yes Sir, i am ready for your command!')
elif 'who are you' in command:
talk('My name is Hive. It stands for Home Assistant Intergrated Virtual Environment. I am here to help you with whatever i can')
elif 'hello' in command:
talk('hello, how are you today?')
else:
talk('Please say the command again.')
while True:
try:
run_hive()
except UnboundLocalError:
continue
ANSWER
Answered 2021-Mar-19 at 19:25just change the take_command function a little, such as:
def take_command():
# ask the user if he wants to use the mike
opt = input('use the mike(y/n)?: ')
# if not, he would type his command
if opt.lower() == "n":
return input("Please type your command: ").lower()
try:
with sr.Microphone() as source:
voice = listener.listen(source)
command = listener.recognize_google(voice)
command = command.lower()
if 'hive' in command:
command = command.replace('hive', '')
print(command)
except:
pass
return command
QUESTION
I am trying to build an Ai assistant similar to Alexa from this tutorial https://www.youtube.com/watch?v=AWvsXxDtEkU... So, I was getting this error and I can't seem to debug it:
line 31, in take_command : return command : UnboundLocalError: local variable 'command' referenced before assignment
I know this question has been asked a ton of times but I can't seem to understand the solutions, I've read plenty of articles about an unbound error I know it's an issue of global and local scopes but again the same same thing I can't understand those properly...
Here's my code:
import speech_recognition as sr
import pyttsx3
import pywhatkit
import datetime
import wikipedia
import pyjokes
listener = sr.Recognizer()
engine = pyttsx3.init()
voices = engine.getProperty('voices')
engine.setProperty('voice', voices[1].id)
def talk(text):
engine.say(text)
engine.runAndWait()
def take_command():
try:
with sr.Microphone() as source:
print('listening...')
voice = listener.listen(source)
command = listener.recognize_google(voice)
command = command.lower()
if 'alexa' in command:
command = command.replace('alexa', '')
print(command)
except:
pass
return command
def run_alexa():
command = take_command()
print(command)
if 'play' in command:
song = command.replace('play', '')
talk('playing ' + song)
pywhatkit.playonyt(song)
elif 'time' in command:
time = datetime.datetime.now().strftime('%I:%M %p')
talk('Current time is ' + time)
elif 'who the heck is' in command:
person = command.replace('who the heck is', '')
info = wikipedia.summary(person, 1)
print(info)
talk(info)
elif 'date' in command:
talk('sorry, I have a headache')
elif 'are you single' in command:
talk('I am in a relationship with wifi')
elif 'joke' in command:
talk(pyjokes.get_joke())
else:
talk('Please say the command again.')
while True:
run_alexa()
I hope you can help me fix this mess... Thanks
ANSWER
Answered 2021-Mar-10 at 04:17Your line 31, return command
will never be reached if you run into an exception. You have to put the return statement within the try block.
def take_command():
try:
with sr.Microphone() as source:
print('listening...')
voice = listener.listen(source)
command = listener.recognize_google(voice)
command = command.lower()
if 'alexa' in command:
command = command.replace('alexa', '')
print(command)
return command
except:
pass
QUESTION
I've downloaded this module called guesslang
through pip
and I've added it to my requirements.txt
file for Heroku to download it. When I run my discord bot locally, it works with no issues. However, whenever I deploy it on Heroku, I get this error:
ERROR: Could not find a version that satisfies the requirement tensorflow==2.2.0 (from guesslang==2.0.1->-r /tmp/build_ca38c743_/requirements.txt (line 11)) (from versions: none)
ERROR: No matching distribution found for tensorflow==2.2.0 (from guesslang==2.0.1->-r /tmp/build_ca38c743_/requirements.txt (line 11))
! Push rejected, failed to compile Python app.
! Push failed
Here's my requirements.txt
file:
git+https://github.com/Rapptz/discord.py
PyNaCl==1.3.0
dnspython==1.16.0
pandas
async-timeout==3.0.1
pip
youtube_dl
colorlog
pyjokes
howdoi
guesslang
How can I fix this?
ANSWER
Answered 2021-Mar-06 at 12:58Some tutorials on YouTube are outdated. The problem here is with your requirements.txt
. You don't need to include git+https://github.com/Rapptz/discord.py
at the beginning of the file. And some modules like pandas
and async-timeout
are already installed with the python Buildpack. Finally, pip
isn't a module, so you don't need to include that as well.
I would change:
git+https://github.com/Rapptz/discord.py
PyNaCl==1.3.0
dnspython==1.16.0
pandas
async-timeout==3.0.1
pip
youtube_dl
colorlog
pyjokes
howdoi
guesslang
to something like this:
PyNaCl==1.3.0
dnspython==1.16.0
youtube_dl
colorlog
pyjokes
howdoi
guesslang==2.0.1
discord.py==1.6.0
You should make sure that the python Buildpack is added to your project.
QUESTION
I am building the VUI for a virtual assistant as a hobby project using pyttsx3 and SpeechRecognition. i first made a function called take_order()
then in the next function run_agos()
i checked if take_Order()
contains some keyword to start an other process, see this code:
import speech_recognition as sr
import pywhatkit
import datetime
import winsound
import wikipedia
import pyjokes
import pyttsx3
listener = sr.Recognizer()
engine = pyttsx3.init()
def talk(text):
engine.say(text)
engine.runAndWait()
def take_order():
try:
with sr.Microphone() as source:
print('listening...')
voice = listener.listen(source)
command = listener.recognize_google(voice)
command = command.lower()
if 'alex' in command:
command = command.replace('alexa', '')
print(command)
else:
return
return command
except pass
def run_agos():
task = take_order()
if 'play' in task:
song = task.replace('play', '')
talk('playing ' + song)
pywhatkit.playonyt(song)
elif 'time' in task:
time = datetime.datetime.now().strftime('%I:%M %p')
print(time)
talk('Current time is ' + time)
elif 'who is' in task:
person = task.replace('who is', '')
try:
info = wikipedia.summary(person, 1)
print(info)
talk(info)
except wikipedia.exceptions.DisambiguationError as e:
print(e.options)
talk(person + 'may refer to')
talk(e.options)
elif 'what is' in task:
thing = task.replace('what is', '')
try:
info = wikipedia.summary(thing, 1)
print(info)
talk(info)
except wikipedia.exceptions.DisambiguationError as e:
print(e.options)
talk(thing + 'may refer to')
talk(e.options)
elif 'joke' in task:
joke = pyjokes.get_joke()
talk(joke)
print(joke)
else:
talk('I did not hear that, pleas repeat the command.')
return run_agos()
while True:
run_agos()
At first it works fine, however after a while I get TypeError: argument of type 'NoneType' is not iterable
and the program shuts down. I also get the extit code: -1073741819 (0xC0000005).How can I fix this error so it will keep running the program?
ANSWER
Answered 2021-Mar-03 at 19:18It looks like in the take_order function, you are either returning nothing when an error occurs or returning nothing as well when 'alexa' isn't in the command. Then your code checks if 'play' in task
. Here, task is None since nothing was returned. This is your main issue. I would suggest returning a specific string or a value for example -1. Then, right after task = take_order()
, check if task is that value. for example
def take_order():
try:
with sr.Microphone() as source:
print('listening...')
voice = listener.listen(source)
command = listener.recognize_google(voice)
command = command.lower()
if 'alex' in command:
command = command.replace('alexa', '')
print(command)
else:
return -1
return command
except: return -1
def run_agos():
task = take_order()
if task == -1: return
...
One more thing: You always do return run_agos()
at the end of run_agos() which recursively calls itself. This is bad practice since you already have a while True
loop that calls the function forever. I would suggest removing the return statement in the end of run_agos
QUESTION
From today, I started getting error while installing modules from requirements.txt
, I tried to find the error module and remove it but I couldn't find.
Pillow
nospamplus
pymediainfo
apscheduler
howdoi
pyseoanalyzer
pokedex.py
faker
deep_translator
pornhub-api
countryinfo
emoji-country-flag
langdetect
PyProxyToolkit
cairosvg
grapheme
cryptosteganography
QScintilla
requests_html
flask
yahoo_fin
anime_downloader
pandas
PyDictionary
fontTools
pydub
quote
lottie
textblob
python-magic
glitch_this
PyGithub
pytesseract
youtube-dl
opencv-contrib-python
telethon
iplookup
wget
numpy
googletrans
pyshorteners
aiohttp
bs4
coffeehouse
cowpy
emoji
gTTS-token>=1.1.3
gTTS>=2.0.1
geopy
gitpython
google-api-python-client==1.8.0
google-auth-oauthlib
google_images_download>=2.7.1
gsearch
hachoir
heroku3
httplib2
humanize
lxml
lyricsgenius
oauth2client
psycopg2-binary
PyLyrics
pySmartDL
pybase64>=0.4.0
pyfiglet
pylast
python-barcode
python-dotenv
pytz
qrcode
regex
requests
search-engine-parser>=0.4.2
selenium
speedtest-cli>=2.0.2
sqlalchemy>=1.2
telegraph
tswift
urbandict>=0.5
wikipedia>=1.4.0
youtube-search
password_strength
pyjokes
cryptocompare
These are the modules. Below is the error I get:
Collecting goslate
Downloading goslate-1.5.1.tar.gz (17 kB)
ERROR: Command errored out with exit status 1:
command: /usr/bin/python3 -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-u0eft0x8/goslate_a9d50754d502446c876c20f9eb75ad67/setup.py'"'"'; __file__='"'"'/tmp/pip-install-u0eft0x8/goslate_a9d50754d502446c876c20f9eb75ad67/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-pip-egg-info-tybqx6p2
cwd: /tmp/pip-install-u0eft0x8/goslate_a9d50754d502446c876c20f9eb75ad67/
Complete output (26 lines):
running egg_info
creating /tmp/pip-pip-egg-info-tybqx6p2/goslate.egg-info
writing /tmp/pip-pip-egg-info-tybqx6p2/goslate.egg-info/PKG-INFO
Traceback (most recent call last):
File "", line 1, in
File "/tmp/pip-install-u0eft0x8/goslate_a9d50754d502446c876c20f9eb75ad67/setup.py", line 19, in
setup(
File "/usr/local/lib/python3.9/dist-packages/setuptools/__init__.py", line 153, in setup
return distutils.core.setup(**attrs)
File "/usr/lib/python3.9/distutils/core.py", line 148, in setup
dist.run_commands()
File "/usr/lib/python3.9/distutils/dist.py", line 966, in run_commands
self.run_command(cmd)
File "/usr/lib/python3.9/distutils/dist.py", line 985, in run_command
cmd_obj.run()
File "/usr/local/lib/python3.9/dist-packages/setuptools/command/egg_info.py", line 292, in run
writer(self, ep.name, os.path.join(self.egg_info, ep.name))
File "/usr/local/lib/python3.9/dist-packages/setuptools/command/egg_info.py", line 628, in write_pkg_info
metadata.write_pkg_info(cmd.egg_info)
File "/usr/lib/python3.9/distutils/dist.py", line 1117, in write_pkg_info
self.write_pkg_file(pkg_info)
File "/usr/local/lib/python3.9/dist-packages/setuptools/dist.py", line 140, in write_pkg_file
write_field('Summary', single_line(self.get_description()))
File "/usr/local/lib/python3.9/dist-packages/setuptools/dist.py", line 124, in single_line
raise ValueError("newlines not allowed")
ValueError: newlines not allowed
----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
The command '/bin/sh -c pip3 install -r requirements.txt' returned a non-zero code: 1
I tried to find and remove goslate
module, but I couldn't find. Maybe this goslate
is required by one of my modules.
ANSWER
Answered 2021-Jan-17 at 12:41Create a list of all the dependencies and run the following code.
for l in list:
print('checking for {}'.format(l))
url = 'https://pypi.org/pypi/{}/json'
json = requests.get(url.format(l)).json()
if json['info']['requires_dist'] is not None:
if 'goslate' in json['info']['requires_dist']:
print('found one ! : {}'.format(l))
this will check all if goslate is in any of the modules that you need.
got help from here How to list dependencies for a python library without installing?
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install pyjokes
You can use pyjokes like any standard Python library. You will need to make sure that you have a development environment consisting of a Python distribution including header files, a compiler, pip, and git installed. Make sure that your pip, setuptools, and wheel are up to date. When using pip it is generally recommended to install packages in a virtual environment to avoid changes to the system.
Support
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesExplore Kits - Develop, implement, customize Projects, Custom Functions and Applications with kandi kits
Save this library and start creating your kit
Share this Page