message = input("Tell me something, and I will repeat it back to you\n")
print(message)
intput()函数接受一个参数,即要向用户显示的提示,让用户知道该输入什么样的信息,程序等待用户输入,并在用户按回车键后继续运行,用户的输入被赋给变量
name = input("Please enter your name.\n")
print(f"Hello,{name}")
使用input()函数的时候,应当指定清晰易懂的提示,准确指出希望用户提供什么样的信息
有时候提示超过一行,可以先将提示赋给一个变量,再将这个变量传递给input()函数,这样即便提示超过一行,input()语句也会非常清晰
prompt = ("If you share your name, we can personalize the messages "
"you see.")
prompt += "\nWhat's your first name?\n"
name = input(prompt)
print(f"Hello,{name}")
在使用input()函数时,Python会将用户输入解读为字符串,这个时候如果试图将输入作为数来使用,就会引发错误。为了解决这个问题,可以使用函数int()将输入的字符串转换为数值,确保能够成功的将输入作为数进行使用。
age = input("How old are you? ")
print(age)
if int(age) > 10:
print("emmmm")
又例如下面:
height = input("How tall are you, in inches?\n")
height = int(height)
if height >= 48:
print("\n You're tall enough to ride!")
else:
print("You'll be able to ride when you're a little order")
所以在将数值输入用于计算和比较前,务必将其转换为数值表示。
求模运算符:%
number = input("Enter a number, and I will tell you it's even "
"or odd\n")
number = int(number)
if number % 2 == 0:
print(f"The number {number} is even.")
else:
print(f"The number {number} is even.")
求模运算符不会指出一个数是另一个数的多少倍,只能指出余数是多少,可以用来判断奇数偶数。
练习7.1
request = input("which kind of car do you want?\n")
print(f"Let me see if I can find you a {request}")
练习7.2
number = input("How many people for this lunch?\n")
number = int(number)
if number >=8:
print("There is no table left")
else:
print("welcome here for lunch")
练习7.3
number = input("please input a number\n")
number = int(number)
if number % 10 == 0:
print(f"{number} 是10的倍数")
else:
print(f"{number}不是10的倍数")
while循环
current_number = 1
numbers = []
while current_number <= 5:
numbers.append(current_number)
print(current_number)
current_number += 1
print(numbers)
只要条件满足,循环就会进行下去
也可以实现让用户选择何时退出:
prompt = "Tell me something, and I will repeat it back to you"
prompt += "\nEnter 'quit' to end the program.\n"
message = ""
while message != 'quit':
message = input(prompt)
if message != "quit":
print(message)
使用标志:使用一个标记来判断程序是否应该继续运行。
prompt = "Tell me something, and I will repeat it back to you\n"
prompt += "Enter 'quit' to end the program\n"
active = True
while active:
message = input(prompt)
if message == 'quit':
active = False
else:
print(message)
使用break退出循环:
prompt = "Tell me something, and I will repeat it back to you\n"
prompt += "Enter 'quit' to end the program\n"
while True:
message = input(prompt)
if message == 'quit':
break
else:
print(message)
在所有Python循环中都可使用break语句。例如,可使用break语句来退出遍历列表或字典的for循环。
在循环中使用continue:
要返回循环开头,并根据条件测试的结果决定是否继续执行循环,可使用continue语句,它不像break语句那样不再执行余下的代码并退出整个循环。
current_number = 0
while current_number < 10:
current_number += 1
if current_number % 2 == 0:
continue
else:
print(current_number)
避免无限循环:
要避免编写无限循环,务必对每个while循环进行测试,确保它们按照预期那样结束
练习7.4
active = True
while active:
integrity = input("which integrity you want?\n"
"if you have finished booking,"
"please enter 'quit'\n")
if integrity == 'quit':
print("OK, we will prepare your pizza right now")
active = False
else:
print(f"Add {integrity} into the pizza!")
练习7.5
while True:
question = "How old are you?\n"
age = input(question)
age = int(age)
if age < 3:
print("it's free for you, puppy")
elif 3 <= age <12:
print("please pay 10 dollars for your ticket")
else:
print("please pay 15 dollars for your ticket")
使用while循环处理列表和字典
for循环是一种遍历列表的有效方式,但不应该在for循环中修改列表,否则将导致Python难易跟踪其中的元素,要在遍历列表的同时修改它,可使用while循环。通过将while循环与列表和字典结合起来使用,可收集、存储并组织大量的的输入,供以后查看和使用。
①在列表之间移动元素
将一个列表的元素移动到另外一个列表当中
unconfirmed_users = ['zhong', 'xiong', 'mike']
confirmed_users = []
while unconfirmed_users:
current_user = unconfirmed_users.pop()
print(f"Verifying user:{current_user}")
confirmed_users.append(current_user)
print("The following users have been verified:")
for confirmed_user in confirmed_users:
print(confirmed_user.title())
②删除为特定值的所有列表元素
pets = ['dog', 'cat', 'rabbit', 'cat', 'tiger', 'cat']
print(pets)
while 'cat' in pets:
pets.remove('cat')
print(pets)
③使用用户输入充填字典
可以使用while循环提示用户输入任意多的信息
responses = {}
polling_active = True
while polling_active:
name = input("What's your name?\n")
response = input("Which dish you like most?\n")
responses[name] = response
repeat = input("Would you like to another person respond?"
"\n(yes/no)")
if repeat == 'no':
polling_active = False
else:
polling_active = True
for name, response in responses.items():
print(f"{name.title()}'s favorite dish is {response}.")
练习7.8:
sandwish_orders = ['fish sandwish', 'vegetable sandwish',
'beef sandwish']
finished_sandwiches = []
while sandwish_orders:
sandwish_order = sandwish_orders.pop()
finished_sandwiches.append(sandwish_order)
print(f"I have finished your {sandwish_order}.")
print(f"\n{finished_sandwiches}")
练习7.9:
sandwish_orders = ['fish sandwish', 'pastrami','vegetable sandwish',
'beef sandwish', 'pastrami', 'pastrami']
print("No pastrami left")
while 'pastrami' in sandwish_orders:
sandwish_orders.remove('pastrami')
print(f"\n{sandwish_orders}")
本文介绍了如何在Python中获取用户输入,包括使用input()函数、类型转换,以及while和for循环的运用,如处理列表、字典,判断奇偶数和判断循环结束条件。重点讲解了如何避免无限循环和在循环中处理用户输入和数据操作。
524

被折叠的 条评论
为什么被折叠?



