简体   繁体   中英

sys.stdin.readline() with if else (Python)

I am new at Python and need a little help. I am trying to use the next command in order to get user input from screen: sys.stdin.readline()

All is fine when I want to print something but when I am trying to combine an if else statement it seems that the user input is ignoring the case sensitive string that I wrote in the if == and it always return the else even when I writing the input 'Sam'

I want to make a simple task like this one:

print("What is your name ?")

name = sys.stdin.readline()

print("Hello", name)

if name == 'Sam' :
    print ('You are in our group')
else :
    print('You are not in our group')

What should I do in the sys.stdin.readline() will acknowledge the if == argument ?

Thank you for you Help

The line will include the end of line character '\\n' ( docs ). So it's never equal to 'Sam' (except possibly at the end of the file).

Maybe use name = name.strip() to remove it and any extra whitespace characters.

In reference to the main post:

I used sys.stdin.readline() and input() in the same code. Worked both times. Below are the codes:

import sys
print('how much was your meal')
price = int(input())
print('how much would you like to tip in percentage')
tip = int(input())
tipamount = price * (tip/100)
print('your tip amount is %s' %tipamount + 'dollars')

Second code:

#import sys
#price = int(sys.stdin.readline())
#print('how much would you like to tip in percentage')
#tip = int(sys.stdin.readline())
#tipamount = price * (tip/100)
#print('your tip amount is %s' %tipamount + 'dollars') 

But when I used sys.stdin.readline in the following code, it didn't work. Instead input() worked. Could someone please explain why sys.stdin.readline worked in the first code but not in this one?

import sys
print('are you looking to study digital media in australia?')
answer = str(sys.stdin.read())
if answer == 'yes':
print('Deakin University has one of the best Digital Science Program!')

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM