wodeai999 发表于 2021-9-30 09:30:51

35讲第一题解析求助

本帖最后由 wodeai999 于 2021-9-30 16:00 编辑

msg = "请填写以下联系方式"
title = "账号中心"
fieldNames = [" *用户名", " *真实姓名", "固定电话", " *手机号码", "QQ", " *E-mail"]
fieldValues = []
fieldValues = g.multenterbox(msg, title, fieldNames)

while 1:
    if fieldValues == None:
      break
    errmsg = ""
    for i in range(len(fieldNames)):
      option = fieldNames.strip()
      if fieldValues.strip() == "" and option == "*":
            errmsg += ('【%s】为必填项。\n\n' % fieldNames)
    if errmsg == "":
      break
    fieldValues = g.multenterbox(errmsg, title, fieldNames, fieldValues)

print("用户资料如下:%s" % str(fieldValues))
   

能否有大佬可以帮忙解析一下中间代码的含义嘛,有一点点被绕进去了

蟹黄堡秘方 发表于 2021-10-5 20:00:46

我也是小白,刚好学到这,尽力写了,希望能帮到你:)

# 实现一个用于登记用户账号信息的界面(如果是带 * 号的必填项,要求一定要有输入并且不能是空格)

import easygui as g

msg = '请填写以下联系方式:'
title = '账号中心'
fieldNames = [' *用户名', '*真实姓名', ' 固定电话', '*手机号码', '   QQ', '*E-mail']# 这里有个细节,为了让展示出的内容居中,所以加了空格
fieldValues = g.multenterbox(msg, title, fieldNames)

while 1:
    if fieldValues == None:# 这里我也不太懂,我觉得去掉好像更好
      break
    errmsg = ''# 先给errmsg赋值,当自身不满足for中if的条件时(即输入符合条件),跳出循环
    for i in range(len(fieldNames)):
      option = fieldNames.strip()# 为了后期判断fieldNames是否等于*,将空格去除
      if fieldValues.strip() == '' and option == '*':
            errmsg += ('【%s】为必填项!\n' % fieldNames)
    if errmsg == '':
      break
    fieldValues = g.multenterbox(errmsg, title, fieldNames, fieldValues)# 将刚刚重新获得的fieldValue装回去,经循环再次检查是否符合输入规则

print('用户资料如下:%s' % str(fieldValues))

页: [1]
查看完整版本: 35讲第一题解析求助