文章目录

  • 学习教材
  • 第七章 用户输入和while循环
  • 1、函数 input()
  • 2、使用input获取数值
  • 3、取模运算符
  • 4、while 循环
  • 5、使用标志、break和continue
  • 6、使用 while 循环处理列表
  • 7、利用while循环删除多个相同元素
  • 8、使用用户输入来填充字典


学习教材

python while输入若干字符串怎么停止 python中while循环获得用户输入_字符串

第七章 用户输入和while循环

1、函数 input()
name=input('Please enter your name:')
print('hello,'+name)

输出结果:
Please enter your name:1900
hello,1900

当要显示的提示语较长的时候我们可以将他存到变量里,再传给input

prompt = "If you tell us who you are, we can personalize the messages you see."
prompt += "\nWhat is your first name? "
name=input(prompt)
print('hello,'+name)

输出结果:
If you tell us who you are, we can personalize the messages you see.
What is your first name? 1900
hello,1900

2、使用input获取数值

要知道,使用函数input()时,Python将用户输入解读为字符串。
即使你输入数字,也会被当做字符串存起来。不能将其当作数字使用。
为解决这个问题,可使用函数int(),它让Python将输入视为数值。函数int()将数字的字符串表示转换为数值表示

num=input('please enter a num:')
num=int(num)
print(num+4)  #转换后 可以做加法运算

输出结果:
please enter a num:1
5

3、取模运算符

就正常取模运算,大部分语言都一样

print(5%3) 
print(3%5) 
print(4%2)

2
3
0

4、while 循环

常规语法,while后边跟的表达式如果是真,那就一直循环,如果假,那就终止循环
经典应用:猜数字游戏

num=55
ans=-1
while ans!=num:
    if ans==-1:
        ans=input('Please Guess!(0-100):')
        ans=int(ans)
    elif ans>num:
        print('too big!')
        ans=input('Guess:')
        ans=int(ans)
    elif ans<num:
        print('too small!')
        ans=input('Guess:')
        ans=int(ans)
print('Congratulations, you guessed it!')

输出结果:
Please Guess!(0-100):5
too small!
Guess:6
too small!
Guess:70
too big!
Guess:50
too small!
Guess:54
too small!
Guess:55
Congratulations, you guessed it!

利用while循环向列表中添加元素,若添加到重复元素,就结束
注意这个程序里面,虽然说让你输入一个数字,但是其实存进去的是字符串,并不是数字

a=[]
ans='start'
while ans not in a:
    a.append(ans)
    ans=input('Please enter a num:')
    
print(a)

输出结果:
Please enter a num:1
Please enter a num:2
Please enter a num:3
Please enter a num:4
Please enter a num:5
Please enter a num:1
[‘start’, ‘1’, ‘2’, ‘3’, ‘4’, ‘5’]

5、使用标志、break和continue

这个就不多说了,用法简单,和C语言作用一样
标志变量,开关变量,break退出循环, continue返回开始继续循环
注意:在python里面标志可以设置为True或者False(相当于布尔变量),注意T和F大写!!!

6、使用 while 循环处理列表

创建一个新用户列表,利用while循环把老用户列表转移到新用户列表中

old_users = ['alice', 'brian', 'candace']
new_users = [] 
while old_users:
    s=old_users.pop()
    new_users.append(s)
    
print(old_users)
print(new_users)
7、利用while循环删除多个相同元素

宠物列表中包含多个值为’cat’的元素。要删除所有这些元素,可运行一个while循环,直到列表中不再包含值’cat’

pets = ['dog', 'cat', 'dog', 'goldfish', 'cat', 'rabbit', 'cat']
while 'cat' in pets:
    pets.remove('cat')

print(pets)
8、使用用户输入来填充字典

创建一个字典,里面存储用户的名字和密码,由用户自己输入

users={}
flag=True
while flag:
    name = input("your name:")
    password = input("your password:")
    users['name']=name
    users['password']=password
    ans=input('Is there anyone else after you? (yes/ no)')
    if ans=='no':
        flag=False
        
print(users)

输出结果:
your name:LL
your password:123
Is there anyone else after you? (yes/ no)yes
your name:TT
your password:123
Is there anyone else after you? (yes/ no)no
{‘name’: ‘TT’, ‘password’: ‘123’}