python编程input语句_Python编程:从介绍到实践——第7章:用户输入和while循环,入门...

一、函数input()的工作原理

函数input让程序暂停运行,等待用户输入一些文本。获取用户输入后,Python将其存储在一个变量中,以方便使用。

例如以下代码:

message=input("Please tell me something.\n")

print(message)

输出如下:

Please tell me something.

abc

abc

其中第一个abc为你的输入(可为任意值)

注意:

使用input()时,Python将用户输入解读为字符串

。若想输出数值,可通过int()。

动手试一试7-1 – 7-3

#7-1

car=input("Which car do you want to rent?")

print("Let me see if I can find a "+car+"\n")

#7-2

number=input("How many people?")

if int(number)>8:

print("We don't have enough tables.")

else:

print("Welcome!")

print("\n")

#7-3

num=input("Please input a number:")

if int(num)%10:

print("no")

else:

print("yes")

输出:

Which car do you want to rent?bmw

Let me see if I can find a bmw

How many people?9

We don't have enough tables.

Please input a number:12

no

二、while循环

1.使用while循环

运行如下代码:

number=1

while number<=5:

print(number)

number+=1

输出如下:

1

2

3

4

5

2.break与continue语句

break语句为

退出整个循环

,执行下面的语句。

continue语句为

退出该次循环

,回到循环判定条件。

动手试一试 7-4 – 7-7

#7-4

pizza=input("Please input a kind of food or input 'quit':")

while pizza!='quit':

print("We will add "+pizza +" in your pizza")

pizza=input("Please input a kind of food or input 'quit':")

#7-5

while True:

age = int(input("How old are you? "))

if age < 3:

print("free")

elif age >= 3 and age < 12:

print("10 dollars")

elif age >= 12:

print("15 dollars")

#7-6 7-7

#略

输出如下:

Please input a kind of food or input 'quit':eggs

We will add eggs in your pizza

Please input a kind of food or input 'quit':meat

We will add meat in your pizza

Please input a kind of food or input 'quit':quit

How old are you? 2

free

How old are you? 5

10 dollars

How old are you? 15

15 dollars

三、使用while循环来处理列表和字典

for循环是一种遍历列表的有效方式,但

在for循环中不应修改列表

,否则将导致Python难以跟踪其中的元素。

要在遍历列表的同时对其进行修改,可使用while循环。

1.在列表之间移动元素

假设有一个列表,其中包含新注册但还未验证的网站用户;验证这些用户后,将其移入另一个已验证的用户列表中,代码如下:

unconfirmed_users=['zhansan','lisi','wangwu']

confirmed_users=[]

while unconfirmed_users:

current_user = unconfirmed_users.pop()

print("Verifying user:"+current_user)

confirmed_users.append(current_user)

print("\nThe following users have been confirmed:")

for confirmed_user in confirmed_users:

print(confirmed_user)

输出如下:

Verifying user:wangwu

Verifying user:lisi

Verifying user:zhansan

The following users have been confirmed:

wangwu

lisi

zhansan

2.删除包含特定值的所有列表元素

pets=['cat','dog','goldfish','cat','rabbit']

print(pets)

while 'cat' in pets:

pets.remove('cat')

print(pets)

输出如下:

['cat', 'dog', 'goldfish', 'cat', 'rabbit']

['dog', 'goldfish', 'rabbit']

3.使用用户输入来填充字典

responses = {}

active = True

while 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 resond?(y/n)")

if repeat == 'y':

continue

elif repeat == 'n':

break

print("\n--- Poll Results ---")

for name,response in responses.items():

print(name+" would like to climb "+response+".")

输出如下:

What is your name?liming

Which mountain would you like to climb someday?a

Would you like to let another person resond?(y/n)y

What is your name?zhanghua

Which mountain would you like to climb someday?b

Would you like to let another person resond?(y/n)n

--- Poll Results ---

liming would like to climb a.

zhanghua would like to climb b.

动手试一试 7-8 — 7-10

#7-8

sandwich_orders=["a","b","c"]

finished_sandwiches=[]

while sandwich_orders:

sandwich = sandwich_orders.pop()

finished_sandwiches.append(sandwich)

print("I made your "+sandwich+" sandwich.")

#7-9

sandwich_orders = ["a","pastrami","c","pastrami","pastrami","b"]

print("The pastrami was sold out.")

while "pastrami" in sandwich_orders:

sandwich_orders.remove("pastrami")

print(sandwich_orders)

#7-10

travel_places = {}

while True:

name = input("What is your name?")

travel_places[name] = input("Where do you want to travel?")

judge = input("Do you want to repeat?(y/n)")

if judge == 'y':

continue

elif judge == 'n':

break

for name,place in travel_places.items():

print(name + " want to travel to " +place+".")

输出如下:

I made your c sandwich.

I made your b sandwich.

I made your a sandwich.

The pastrami was sold out.

['a', 'c', 'b']

What is your name?Liming

Where do you want to travel?Pairs

Do you want to repeat?(y/n)y

What is your name?Zhangsan

Where do you want to travel?Beijing

Do you want to repeat?(y/n)n

Liming want to travel to Pairs.

Zhangsan want to travel to Beijing.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值