Coroutine and Waitforseconds

Hey everyone,

I new to scripting and unity overall, and I am currently working on a platformer project.
I have added attacks to my character, but I want him to be unable to move while these are used.
What I need help with is adding waitforseconds in my script.
I have understood that I should use Coroutines, and have looked into that. However, I have a hard time figuring out how to add it into my script, Im not good enough to look at examples and just change it to fit MY script.
This is what my script currently looks like.

using UnityEngine;
using System.Collections;

public class PlayerControl : MonoBehaviour 
{
	public float maxSpeed = 10f;
	bool facingRight = true;
	bool runningCoroutine;
	

	bool attacking = false;
	Animator anim; //shortcut for Animator
	bool grounded = false;
	public Transform groundCheck; 
	float groundRadius = 0.2f;
	public LayerMask whatIsGround; //can tell what is ground
	public float jumpForce = 700f;


	void Start ()
	{
		anim = GetComponent<Animator> ();
	}
	
	//Movement
	void FixedUpdate ()
	{	
	 
		grounded = Physics2D.OverlapCircle (groundCheck.position, groundRadius, whatIsGround);
		anim.SetBool ("Ground", grounded);

		anim.SetFloat ("vSpeed", GetComponent<Rigidbody2D>().velocity.y);

		float move = Input.GetAxis ("Horizontal");
		anim.SetFloat("Speed", Mathf.Abs(move));



		{
			if (!attacking) 
			GetComponent<Rigidbody2D> ().velocity = new Vector2 (move * maxSpeed, GetComponent<Rigidbody2D> ().velocity.y);

			if (move > 0 && !facingRight)
				Flip ();
			else if (move < 0 && facingRight)
				Flip ();
		}
	}
	//Jump
	void Update ()
	{	
		if (!attacking) 
		if (grounded && Input.GetKeyDown (KeyCode.Space)) {
			anim.SetBool ("Ground", false);
			GetComponent<Rigidbody2D> ().AddForce (new Vector2 (0, jumpForce));
		
		}


		//Attack
		if (anim.GetBool ("Claw"))
			anim.SetBool ("Claw", false);

		if (grounded && Input.GetKey (KeyCode.Q)) 
		{
			anim.SetBool ("Claw", true);
			attacking = true;
		}

	
		if (anim.GetBool ("Sword"))
			anim.SetBool ("Sword", false);
	
		if (grounded && Input.GetKey (KeyCode.E)) 
		{
			anim.SetBool ("Sword", true);
			attacking = true;

		}

	}
	void Flip()
	{
		facingRight = !facingRight;
		Vector3 theScale = transform.localScale;
		theScale.x *= -1;
		transform.localScale = theScale;
	}
}

What I need is to set a WaitForSeconds after setting attacking = true;
Then have the player wait and then make it attacking = false;

Can anyone help me out? or explain how I should input this correctly or use another method?
Thanks!

For a function:

Waiting within the function:

Hope it helps you.