message =input("Tell me something,and I will repeat it back to you: ")print(message)
Tell me something,and I will repeat it back to you: Hello everyone!
Hello everyone!
1.1 编写清晰的程序
下面第一行代码 name: 后面包含一个空格,可将提示与用户输入分开;
name =input("Please enter your name: ")print("Hello, "+ name +"!")
Please enter your name: Eric
Hello, Eric!
当提示超过一行吗,可将提示存储在一个变量中,再将变量传递给函数input();
运算符 += 表示在存储在prompt中的字符串末尾附加一个字符串;
下面第二行代码 name? 后面包含一个空格,同上也是出于清晰考虑。
prompt ="If you tell us who you are,we can personalize the messages you see."
prompt +="\nwhat is your name? "
name =input(prompt)print("\nHello,"+ name +"!")
If you tell us who you are,we can personalize the messages you see.
what is your name? Eric
Hello,Eric!
1.2 使用int()来获取数值输入
使用函数input()时,Python默认将用户输入变为字符串;
下面代码输出结果21用引号括起来了;
>>> age =input("How old are you? ")
How old are you? 21>>> age
'21'
字符串的输出结果不能与数值进行比较,会报错;
>>> age =input("How old are you? ")
How old are you? 21>>> age >=18
Traceback (most recent call last):
File "<stdin>", line 1,in<module>
TypeError:'>='not supported between instances of 'str'and'int'
为解决上述问题,可使用函数int(),Python将转换为数值;
>>> age =input("How old are you? ")
How old are you? 21>>> age =int(age)>>> age >=18True
演示示例如下:
height =input("How tall are you,in inches? ")
height =int(height)if height >=36:print("\nYou're tall enough to ride!")else:print("\nYou'll be able to ride when you're a little older.")
How tall are you,in inches? 71
You're tall enough to ride!
1.3 求模运算符
% 是将两个数相除并返回余数;
如果一个数可被另一个数整除,余数就是0,取模运算符将返回0;
可利用取模结果是否为0判断一个是是否为奇数(odd)或是偶数(even);
== 是相等运算符;
演示示例如下:
number =input("Enter a number,and I'll tell you if it's even or odd: ")
number =int(number)if number %2==0:print("\nThe number "+str(number)+" is even.")else:print("\nThe number "+str(number)+" is odd.")
Enter a number,and I'll tell you if it's even or odd:42
The number 42is even.
prompt ="\nTell me something,and I will repeat it back to you:"
prompt +="\nEnter 'quit' to end the program. "
message =""while message !='quit':
message =input(prompt)print(message)
Tell me something,and I will repeat it back to you:
Enter 'quit' to end the program. Hello everyone!
Hello everyone!
Tell me something,and I will repeat it back to you:
Enter 'quit' to end the program. Hello again.
Hello again.
Tell me something,and I will repeat it back to you:
Enter 'quit' to end the program. quit
quit
上述代码最后一行将quit也进行了输出,对代码进行优化:
prompt ="\nTell me something,and I will repeat it back to you:"
prompt +="\nEnter 'quit' to end the program. "
message =""while message !='quit':
message =input(prompt)if message !='quit':print(message)
Tell me something,and I will repeat it back to you:
Enter 'quit' to end the program. Hello everyone!
Hello everyone!
Tell me something,and I will repeat it back to you:
Enter 'quit' to end the program. Hello again.
Hello again.
Tell me something,and I will repeat it back to you:
Enter 'quit' to end the program. quit
prompt ="\nTell me something,and I will repeat it back to you:"
prompt +="\nEnter 'quit' to end the program. "
active =Truewhile active:
message =input(prompt)if message =='quit':
active =Falseelse:print(message)
Enter 'quit' to end the program. Hello everyone!
Hello everyone!
Tell me something,and I will repeat it back to you:
Enter 'quit' to end the program. Hello again.
Hello again.
Tell me something,and I will repeat it back to you:
Enter 'quit' to end the program. quit
2.4 使用 break 退出循环
break语句:立即退出while循环,不再运行循环中余下的代码,也不管条件测试的结果如何
break语句用于控制程序流程
演示示例如下:
prompt ="\nPlease enter the name of a city you have visited:"
prompt +="\n(Enter 'quit' when you are finished.) "whileTrue:
city =input(prompt)if city =='quit':breakelse:print("I’d love to go to "+ city.title()+"!")
Please enter the name of a city you have visited:(Enter 'quit' when you are finished.) New York
I’d love to go to New York!
Please enter the name of a city you have visited:(Enter 'quit' when you are finished.) San Francisco
I’d love to go to San Francisco!
Please enter the name of a city you have visited:(Enter 'quit' when you are finished.) quit
responses ={}#设置一个标志,指出调查是否继续
polling_active =Truewhile polling_active:#提示输入被调查者的名字和回答
name =input("\nwhat is your name? ")
response =input("which mountain would you like to climb someday? ")#将答卷存储在字典中
responses[name]= response
#看看是否还有人要参与调查
repeat =input("Would you like to let another person respond?(yes/no)")if repeat =='no':
polling_active =False#调查结束,显示结果print("\n--- poll Results ---")for name,response in responses.items():print(name +" would like to climb "+ response +".")
what is your name? Eric
which mountain would you like to climb someday? Denali
Would you like to let another person respond?(yes/no)yes
what is your name? Lynn
which mountain would you like to climb someday? Devil's Thumb
Would you like to let another person respond?(yes/no)no
--- poll Results ---
Eric would like to climb Denali.
Lynn would like to climb Devil's Thumb.