CSc 110, Autumn 2016 Lecture 9: input ; if/else Adapted from slides by Marty Stepp and Stuart Reges.

Slides:



Advertisements
Similar presentations
BUILDING JAVA PROGRAMS CHAPTER 4 Conditional Execution.
Advertisements

1 BUILDING JAVA PROGRAMS CHAPTER 4 CONDITIONAL EXECUTION.
Copyright 2008 by Pearson Education Building Java Programs Chapter 4 Lecture 4-1: if and if/else Statements reading: 4.2 self-check: #4-5, 7, 10, 11 exercises:
Copyright 2008 by Pearson Education Building Java Programs Chapter 4 Lecture 4-1: Scanner ; if/else reading: , 4.2, 4.6.
Running JavaScript Chapter 18.
Copyright 2006 by Pearson Education 1 Building Java Programs Chapter 4: Conditional Execution.
CS305j Introduction to Computing Conditional Execution 1 Topic 12 Conditional Execution "We flew down weekly to meet with IBM, but they thought the way.
Topic 11 Scanner object, conditional execution Copyright Pearson Education, 2010 Based on slides bu Marty Stepp and Stuart Reges from
Building Java Programs Chapter 4 Conditional Execution Copyright (c) Pearson All rights reserved.
Building Java Programs Chapter 4 Conditional Execution Copyright (c) Pearson All rights reserved.
Conditionals (Cont’d). 2 Nested if/else question Formula for body mass index (BMI): Write a program that produces output like the following: This program.
Copyright 2008 by Pearson Education Building Java Programs Chapter 4 Lecture 4-1: if and if/else Statements reading: 4.2 self-check: #4-5, 7, 10, 11 exercises:
Building Java Programs
CSC 1010 Programming for All Lecture 3 Useful Python Elements for Designing Programs Some material based on material from Marty Stepp, Instructor, University.
Building Java Programs Chapter 4 Conditional Execution Copyright (c) Pearson All rights reserved.
Copyright 2010 by Pearson Education Building Java Programs Scanner ; if / else; while loops ; random reading: 3.3 – 3.4, 4.1, 4.5, 5.1, 5.6.
Copyright 2008 by Pearson Education 1 The if statement Executes a block of statements only if a test is true if ( test ) { statement ;... statement ; }
Copyright 2010 by Pearson Education The if/else statement reading: 4.1, 4.6.
1 Building Java Programs Chapter 4: Conditional Execution These lecture notes are copyright (C) Marty Stepp and Stuart Reges, They may not be rehosted,
Building Java Programs
Adapted from slides by Marty Stepp and Stuart Reges
Building Java Programs
Building Java Programs
Conditional Execution
Building Java Programs Chapter 4
Building Java Programs
Adapted from slides by Marty Stepp and Stuart Reges
CSc 110, Autumn 2016 Lecture 12: Advanced if/else; Cumulative sum
CSc 110, Autumn 2017 Lecture 5: The for Loop and user input
Lecture 4: Conditionals
Topic 11 Scanner object, conditional execution
Building Java Programs
CSc 110, Spring 2017 Lecture 8: input; if/else
Adapted from slides by Marty Stepp and Stuart Reges
Building Java Programs Chapter 4
Adapted from slides by Marty Stepp and Stuart Reges
CSc 110, Spring 2017 Lecture 9: Advanced if/else; Cumulative sum
Building Java Programs
Executes a block of statements only if a test is true
CSc 110, Spring 2018 Lecture 17: while Loops and decomposition
CSc 110, Autumn 2016 Lecture 9: input; if/else
Building Java Programs
Building Java Programs
Adapted from slides by Marty Stepp and Stuart Reges
CSc 110, Spring 2018 Lecture 7: input and Constants
CSc 110, Spring 2018 Lecture 5: The for Loop and user input
Building Java Programs
CSc 110, Spring 2018 Lecture 5: Loop Figures and Constants
Building Java Programs
Lecture 6: Conditionals AP Computer Science Principles
Factoring if/else code
Building Java Programs
Building Java Programs
CSc 110, Spring 2018 Lecture 8: input and Parameters
Building Java Programs
Building Java Programs
Building Java Programs
Building Java Programs
Building Java Programs
Building Java Programs
Building Java Programs
Building Java Programs
Building Java Programs
Building Java Programs
Chapter 4 Lecture 4-1: Scanner; if/else reading: 3.3 – 3.4, 4.1, 4.5
Building Java Programs Chapter 4
Building Java Programs
Factoring if/else code
Building Java Programs
Building Java Programs
Presentation transcript:

CSc 110, Autumn 2016 Lecture 9: input ; if/else Adapted from slides by Marty Stepp and Stuart Reges

Interactive Programs with input

Interactive programs interactive program: Reads input from the console. While the program runs, it asks the user to type input. The input typed by the user is stored in variables in the code. Can be tricky; users are unpredictable and misbehave. But interactive programs have more interesting behavior.

input input : An function that can read input from the user. Using an input object to read console input: name = input( prompt ) Example: name = input("type your name: ") The variable name will store the value the user typed in

input example def main(): age = input("How old are you? ") years = 65 - age print(years + " years until retirement!") Console (user input underlined): How old are you? 29 age29 Traceback (most recent call last): File " ", line 1, in print(65 - age) TypeError: unsupported operand type(s) for -: 'int' and 'str'

input example def main(): age = int(input("How old are you? ")) years = 65 - age print(str(years) + " years until retirement!") Console (user input underlined): How old are you? 36 years until retirement! 29 age29 years36

The if/else statement

The if statement Executes a block of statements only if a test is true if ( test ): statement... statement Example: gpa = float(input("gpa? ")) if (gpa >= 2.0): print("Application accepted.")

The if/else statement Executes one block if a test is true, another if false if ( test ): statement(s) else: statement(s) Example: gpa = float(input("gpa? ")) if (gpa >= 2.0): print("Welcome to Mars University!") else: print("Application denied.")

Relational expressions if statements use logical tests. if (i <= 10):... These are boolean expressions Tests use relational operators: OperatorMeaningExampleValue == equals == 2True != <> does not equal 3.2 != <> 2.5 True < less than 10 < 5False > greater than 10 > 5True <= less than or equal to 126 <= 100False >= greater than or equal to 5.0 >= 5.0True

Misuse of if What's wrong with the following code? percent = float(input("What percentage did you earn? ")) if (percent >= 90): print("You got an A!") if (percent >= 80): print("You got a B!") if (percent >= 70): print("You got a C!") if (percent >= 60): print("You got a D!") if (percent < 60): print("You got an F!")...

Nested if/else Chooses between outcomes using many tests if ( test ): statement(s) elif ( test ): statement(s) else: statement(s) Example: if (x > 0): print("Positive") elif (x < 0): print("Negative") else: print("Zero")

Nested if/else/if If it ends with else, exactly one path must be taken. If it ends with if, the code might not execute any path. if ( test ): statement(s) elif ( test ): statement(s) elif ( test ): statement(s) Example: if (place == 1): print("Gold medal!") elif (place == 2): print("Silver medal!") elif (place == 3): print("Bronze medal.")

Nested if structures exactly 1 path (mutually exclusive) if ( test ): statement(s) elif ( test ): statement(s) else: statement(s) 0 or 1 path (mutually exclusive) if ( test ): statement(s) elif ( test ): statement(s) elif ( test ): statement(s) 0, 1, or many paths (independent tests; not exclusive) if ( test ): statement(s) if ( test ): statement(s) if ( test ): statement(s)

Which nested if/else ? (1) if/if/if (2) nested if/else (3) nested if/else/if Whether a user is lower, middle, or upper-class based on income. (2)nested if / else if / else Whether you made the dean's list (GPA ≥ 3.8) or honor roll ( ). (3)nested if / else if Whether a number is divisible by 2, 3, and/or 5. (1)sequential if / if / if Computing a grade of A, B, C, D, or F based on a percentage. (2)nested if / else if / else if / else if / else

Nested if/else question Formula for body mass index (BMI): Write a program that produces output like the following: This program reads data for two people and computes their body mass index (BMI). Enter next person's information: height (in inches)? 70.0 weight (in pounds)? Enter next person's information: height (in inches)? 62.5 weight (in pounds)? Person 1 BMI = overweight Person 2 BMI = normal Difference = BMIWeight class below 18.5underweight normal overweight 30.0 and upobese

Nested if/else answer # This program computes two people's body mass index (BMI) and # compares them. The code uses Scanner for input, and parameters/returns. def main(): introduction() bmi1 = person() bmi2 = person() # report overall results report(1, bmi1) report(2, bmi2) print("Difference = " + abs(bmi1 - bmi2)) # prints a welcome message explaining the program def introduction(): print("This program reads data for two people and") print("computes their body mass index (BMI).") print()...

Nested if/else, cont'd. # reads information for one person, computes their BMI, and returns it def person(): print("Enter next person's information:") height = float(input("height (in inches)? ")) weight = float(print("weight (in pounds)? ")) print() bodyMass = bmi(height, weight) return bodyMass # Computes/returns a person's BMI based on their height and weight. def bmi(height, weight): return (weight * 703 / height / height) # Outputs information about a person's BMI and weight status. def report(number, bmi): print("Person " + set(number) + " BMI = " + str(bmi)) if (bmi < 18.5): print("underweight") elif (bmi < 25): print("normal") elif (bmi < 30): print("overweight") else: print("obese")