python重复输入_关于python:输入输入后如何重复输入?

我写了一个函数,其中包含缩写的工作日字典到当天的全名。 当我输入缩写时,我得到了正确的输出日,但为了尝试另一个缩写,我必须重新输入该函数。

我有:

1

2

3

4

5

6

7def weekday()

day = input('Enter day abbreviation ' )

days = {'Mo':'Monday','Tu':'Tuesday',

'we':'Wednesday', 'Th':'Thursday',

'Fr':'Friday', 'Sa':'Saturday','Su':Sunday'}

while day in days:

print(days.get(day))

我遇到的问题是它一遍又一遍地打印全天名称,而我希望它打印全天名称,然后再次打印"输入日期缩写"。

它应该如下所示:

1

2

3

4

5

6

7>>>weekday():

Enter day abbreviation: Tu

Tuesday

Enter day abbreviation: Su

Sunday

Enter day abbreviation:

...

相反,我得到:

1

2

3

4

5

6

7

8>>>weekday():

Enter day abbreviation: Tu

Tuesday

Tuesday

Tuesday

Tuesday

Tuesday

... # it continues without stopping

我知道这是一个非常简单的解决方案,但我无法弄清楚。

可能重复如何让raw_input重复,直到我想退出?

你永远不会重读"日子",所以"日复一日"总是如此,并且无休止地执行。

1

2

3

4

5

6

7

8def weekday()

day = input('Enter day abbreviation ' )

days = {'Mo':'Monday','Tu':'Tuesday',

'we':'Wednesday', 'Th':'Thursday',

'Fr':'Friday', 'Sa':'Saturday','Su':'Sunday'}

while day in days:

print(days.get(day))

day = input('Enter day abbreviation ' )

谢谢! 我不知道为什么我没想到这一点。 很简单

1

2

3

4

5

6

7

8

9days = {'Mo':'Monday','Tu':'Tuesday',

'we':'Wednesday', 'Th':'Thursday',

'Fr':'Friday', 'Sa':'Saturday','Su':'Sunday'}

while True:

day = input('Enter day abbreviation ' )

if day in days:

print (days[day])

else:

break

输出:

1

2

3

4

5

6

7

8$ python3 so.py

Enter day abbreviation Mo

Monday

Enter day abbreviation Tu

Tuesday

Enter day abbreviation we

Wednesday

Enter day abbreviation foo

使用dict.get的另一种方法:

1

2

3

4

5

6

7

8days = {'Mo':'Monday','Tu':'Tuesday',

'we':'Wednesday', 'Th':'Thursday',

'Fr':'Friday', 'Sa':'Saturday','Su':'Sunday'}

obj = object() #returns a unique object

day = input('Enter day abbreviation ' )

while days.get(day,obj) != obj:

print (days[day])

day = input('Enter day abbreviation ' )

如果天不在几天,他希望退出,因为错误的while循环条件表明......

@zmo我已经解决了这个问题。

您希望在每次迭代中再次获得输入:

1

2

3

4

5while True:

day = input('Enter day abbreviation ' )

acquired_day = days.get(day)

if acquired_day is None: break

print(acquired_day)

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值