Python自学记录 - 004

课程:
Microsoft: DEV236x
Introduction to Python: Absolute Beginner
课时:
Module 4 Required Code Description

习题:
Some Assignment Requirements
This program requires the use of :
while loop to get non-empty input
if, else
if, else (nested)
.isdigit() check for integer only input
.isalpha() check for alphabetic only input
The program should only use code syntax covered in modules 1 - 4.
The program must result in printed message analysis of the input.

这道题里面的def我觉得倒比较简单,反倒是它开始要求的loop给我整懵逼了。
我开始想的表达方式是;

test = input("Please enter word or integer: ")

while test == "":
    print(test)

就是先设置test这变量为信息输入,然后做一个loop,当这个输入为空的时候,继续打印test进行再次输入循环
但是这行代码在vscode中跑了一下,直接死机了= =
想了很久,还是没有很好的思路,难道不是用loop来表达?需要用到break?但是有了break,循环就停止了啊…
然后在课程的讨论区我发现人家的代码是这么写的:

test = ""
while test == "":
    test = input("Please enter word or integer: ")

我发现我自己的那个写法,比起来,思路没有人家的这个清晰,同时,不应该用到print,因为test这个input的输入要求会自动跳出,要求对方输入,而用print,本身就是空的test是无法打印出来的,而且还做不到loop test继续运行的效果

所以我自己的那个代码,按照我自己的思路,应该改成:

test = input("Please enter word or integer: ")

while test == "":
    test = input("Please enter word or integer: ")

拿去vscode里跑了一下,这次正确了,Oh Yeah!!虽然没有完全靠自己解答正确,但是对照正确的答案,我知道了自己的问题在哪里~~~
开心~~~

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值